排序之简单的快速排序

  写的非常简单 看看思路就可以 

//6 1 2 7 9 3 4 5 10 8
#include<stdio.h>
int a[100],n;
void quick(int l,int r)
{
int i,j,temp,t;
if(l>r)
{
return;
}
temp=a[l];
i=l;
j=r;
while(i!=j)
{
while(temp<=a[j]&&i<j)
{
j--;
}
while(temp>=a[i]&&i<j)
{
i++;
}


t=a[j];
a[j]=a[i];
a[i]=t;


}

a[l]=a[i];
a[i]=temp;

quick(1,i-1);
quick(i+1,r);


}
int main()
{
int n,i,j;
printf("请输入数字个数:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
quick(1,n);
for(i=1;i<=n;i++)
{
printf("%d ",a[i]);
}
return 0;

}

posted @ 2017-01-10 17:46  mykonons  阅读(145)  评论(0编辑  收藏  举报