vector<int> Bubble_Sort1(vector<int> nums) {//冒泡
for (int i = 0; i < nums.size() - 1; i++) {
for (int j = 0; j < nums.size() - 1 - i; j++){
if (nums[j] > nums[j + 1]) {
int t = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = t;
}
}
}
return nums;
}
vector<int> Select_Sort(vector<int> nums)
{
//思路是每次找最小的那个一次和1 2 3 4 交换
int i, j, min;
for (i = 0; i < nums.size() - 1; i++)//i为已排序序列的末尾
{
min = i; //记录最小值的位置(开始为0)
for (j = i + 1; j < nums.size(); j++) {
if (nums[min]>nums[j]) //找出未排序序列中的最小值
min = j;
}
if (min != i)
swap(nums[i], nums[min]); //swap()是在std::标准名词空间中的交换
}
return nums;
}
vector<int> Insert_Sort(vector<int> nums) {
for (int j = 1; j < nums.size(); j++) {
int i = j - 1;
int key = nums[j];
while (i >= 0 && nums[i] > key) {
nums[i + 1] = nums[i];//往后移一位
i--;
}
nums[i+1] = key;
}
return nums;
}
c++三种排序算法
猜你喜欢
转载自blog.csdn.net/weixin_44302602/article/details/108397258
今日推荐
周排行