三傻排序, 实际编程中很少用到的几个排序. 分别是:
class Solution {
public:
vector<int> sortArray(vector<int>& nums) {
for (int i = 0; i < nums.size(); ++i) {
int minIndex = i;
for (int j = i; j < nums.size(); ++j) {
if (nums[j] < nums[minIndex]) {
minIndex = j;
}
}
swap(nums[i], nums[minIndex]);
}
return nums;
}
};
class Solution {
public:
vector<int> sortArray(vector<int>& nums) {
for (int end = nums.size(); end > 0; --end) {
for (int i = 0, j = i + 1; j < end; ++i, ++j) {
if (nums[i] > nums[j]) {
swap(nums[i], nums[j]);
}
}
}
return nums;
}
};
class Solution {
public:
vector<int> sortArray(vector<int>& nums) {
for (int i = 1; i < nums.size(); ++i) {
int right = i, left = i - 1;
while (left > -1 && nums[left] > nums[right]) {
swap(nums[left], nums[right]);
--left, --right;
}
}
return nums;
}
};