#include<iostream>
#include<vector>
#include<time.h>
#include<algorithm>
using namespace std;
void Quick_Sort(vector<int> &nums, int start, int end){
if (start>=end)
return;
int left = start, right = end, key = nums[start];
while (left < right){
while (left<right&&nums[right]>key)
--right;
if (left < right){
nums[left] = nums[right];
++left;
}
while (left < right&&nums[left] < key)
++left;
if (left < right){
nums[right] = nums[left];
--right;
}
}
nums[left] = key;
Quick_Sort(nums, start, left - 1);
Quick_Sort(nums, left + 1, end);
}
int main(){
srand((unsigned int)time(NULL));
//定义数组
vector<int> arr;
for (int i = 0; i < 10; ++i){
int num = rand() % 100;
arr.push_back(num);
}
for (auto i : arr)
cout << i << ' '; cout << endl;
Quick_Sort(arr, 0, arr.size()-1);
//输出
for (auto i : arr)
cout << i << ' ';
cout << endl;
system("pause");
return 0;
}
C++实现快速排序
最新推荐文章于 2023-12-12 15:15:48 发布