亡羊补牢,为时不晚!时不我待,舍我其谁!ps:这排序是我对着书敲得,智商有限,等我理解理解
#include <stdio.h>
#include <stdlib.h>
int a[101],n;//设置全局变量,这两个变量需要在子函数中使用
void quicksort(int left,int right)
{
int i,j,t,temp;
if(left>right)
return;
temp=a[left];//temp中存的就是基准数
i=left;
j=right;
while(i!=j)
{
//顺序很重要,要从右往左找
while(a[j]>=temp && i<j)
{
j--;
}
//再从左往右找
while(a[j]<=temp && i<j)
{
i++;
}
if(i<j)
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
//最终将基准数归位
a[left] = a[i];
a[i] = temp;
quicksort(left,i-1);
quicksort(i+1,right);
return;
}
int main()
{
system("color f5");
int i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
quicksort(1,n);
for(i=1;i<=n;i++)
{
printf("%d",a[i]);
}
system("pause");
return 0;
}