您的位置:首页 > 其它

快速排序--(参考算法导论p146)

2007-10-15 19:41 357 查看
#include<stdio.h>

void qsort(int a[],int begin, int end);
int main()
{
int a[]={6,7,3,4,5,2,9,10};
qsort(a,0,sizeof(a)/sizeof(a[0])-1);
for(int i=0;i<sizeof(a)/sizeof(a[0]);i++)
{
printf("%d, ",a[i]);
}
return 0;
}

void qsort(int a[],int begin, int end)
{
if(begin<end)
{
int pirot=a[end];
int i,j,tmp;
i = begin-1;
j=begin;
while(j<end)
{
if(a[j]<=pirot)
{
i++;
tmp=a[i];
a[i]=a[j];
a[j]=tmp;

}
j++;
}
i++;
tmp = a[i];
a[i]=a[end];
a[end]=tmp;
qsort(a,begin,i-1);
qsort(a,i+1,end);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: