看到一篇大神的写法here,很厉害,我只是代码的搬运工。(搬了半天还有bug /要死了.jpg)
#include<iostream>
using namespace std;
void quicksort(int a[],int left,int right)
{
if(left < right)
{
int i = left,j = right,m = a[left];
while(i < j)
{
while(i < j&&a[j] >= m)
{
j--;
}
if(i < j)
{
a[i++] = a[j];
}
while(i < j&&a[i] < m)
{
i++;
}
if(i < j)
{
a[j--] = a[i];
}
}
a[i] = m;
quicksort(a,left,i-1);
quicksort(a,i+1,right);
}
}
int main()
{
int n;
cin>>n;
int a[100] = {0};
for(int i = 0;i < n;i++)
{
cin>>a[i];
}
quicksort(a,0,n-1);
for(int i = 0;i < n;i++)
{
cout<<a[i]<<' ';
}
cout<<endl;
}