#include <iostream>
#include <cstdlib>
#include <ctime>
#include <vector>
using namespace std;
//输出函数
void display(vector<int> &v)
{
for(int i=0;i<v.size();i++)
cout<<v[i]<<" ";
cout<<endl;
}
//快排函数
void quick_sort(vector<int> &v,int min1,int max1)
{
if(min1>=max1) return;
int max=max1,min=min1;
//一趟排序
while(min<max)
{
while(min<max){
if(v[max]<v[min])break;
max--;
}
swap(v[max],v[min]);
while(min<max){
if(v[max]<v[min])break;
min++;
}
swap(v[max],v[min]);
}
//每趟排序输出
display(v);
//快排递归
quick_sort(v,min1,min-1);
quick_sort(v,min+1,max1);
}
int main()
{
int n=20;
//srand()初始化随机数发生器
//rand()随机数发生器
srand(time(0));
vector<int> v(n);
//随机给20个数赋初值
for(int i=0;i<n;i++)
v[i]=rand()%1000;
quick_sort(v,0,v.size()-1);
return 0;
}
#include <cstdlib>
#include <ctime>
#include <vector>
using namespace std;
//输出函数
void display(vector<int> &v)
{
for(int i=0;i<v.size();i++)
cout<<v[i]<<" ";
cout<<endl;
}
//快排函数
void quick_sort(vector<int> &v,int min1,int max1)
{
if(min1>=max1) return;
int max=max1,min=min1;
//一趟排序
while(min<max)
{
while(min<max){
if(v[max]<v[min])break;
max--;
}
swap(v[max],v[min]);
while(min<max){
if(v[max]<v[min])break;
min++;
}
swap(v[max],v[min]);
}
//每趟排序输出
display(v);
//快排递归
quick_sort(v,min1,min-1);
quick_sort(v,min+1,max1);
}
int main()
{
int n=20;
//srand()初始化随机数发生器
//rand()随机数发生器
srand(time(0));
vector<int> v(n);
//随机给20个数赋初值
for(int i=0;i<n;i++)
v[i]=rand()%1000;
quick_sort(v,0,v.size()-1);
return 0;
}