c++三种排序算法

tech2025-04-17  3

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; }
最新回复(0)