快速排序_C语言实现

#include<stdio.h>
#include<stdlib.h>
void myqsort(int *a,int low,int high)
{
int i,j;
int c;
c=a[low];
i=low;
j=high;
while(i<j)
{
while(a[j]>=c && i<j)--j;
a[i]=a[j];
while(a[i]<=c && i<j)++i;
a[j]=a[i];
}
a[i]=c;
if(i-1>low) myqsort(a,low,i-1);
if(high>i+1) myqsort(a,i+1,high);
}
int main()
{
int a[30],i;
for(i=0;i<20;i++)
a[i]=rand()%50;
for(i=0;i<20;i++)
printf("%d ",a[i]);
printf("\n");
myqsort(a,0,20);
for(i=0;i<20;i++)
printf("%d ",a[i]);
printf("\n");
}

 

posted on 2011-12-06 14:40  ma6174  阅读(407)  评论(0编辑  收藏  举报

导航