#include<iostream>
#include<queue>
#include<cstdio>
#include<cstdlib>
#include<vector>
using namespace std;
int data[100005];
int n;
int paritition(int r,int p)
{
int i=r-1,x=data[p];
for(int j=r;j<p;j++)
{
if(data[j]<=x)
{
i++;
int temp=data[i];
data[i]=data[j];
data[j]=temp;
}
}
int temp1=data[i+1];
data[i+1]=data[p];
data[p]=temp1;
return i+1;
}
void quicksort(int r,int p)
{
if(r<p)
{
int q=paritition(r,p);
quicksort(r,q-1);
quicksort(q+1,p);
}
else
return;
}
int main()
{
cin>>n;
for(int z=1;z<=n;z++)
cin>>data[z];
quicksort(1,n);
for(int i=1;i<=n;i++)
cout<<data[i]<<" ";
cout<<endl<<rand()%n<<endl;
return 0;
}
//2 8 7 1 3 5 6 4
QuickSort(未完成)
最新推荐文章于 2021-08-17 09:21:38 发布