3047: 快速排序算法
3047: 快速排序算法
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 287 Solved: 252
[Submit][Status][Web Board]
Description
设计一个程序,实现快速排序算法,并输出{6,8,7,9,0,1,3,2,4,5}的排序过程。
Input
Output
每个排序过程输出一行,直到排序完成。
Sample Output
6,8,7,9,0,1,3,2,4,5
...
...
HINT
#include<stdio.h>
void quicksort(int a[],int left,int right)
{
int i,j,temp,t,k;
if(left>right)
return ;
temp=a[left];
i=left;
j=right;
while(i!=j)
{
while(a[j]>=temp&&i<j)
j--;
while(a[i]<=temp&&i<j)
i++;
if(i<j)
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
a[left]=a[i];
a[i]=temp;
for(k=0;k<10;k++)
{
if(k==9)
printf("%d",a[k]);
else
printf("%d,",a[k]);
}
printf("\n");
quicksort(a,left,i-1);
quicksort(a,i+1,right);
return ;
}
int main()
{
int a[10]={6,8,7,9,0,1,3,2,4,5};
quicksort(a,0,9);
return 0;
}
还是快速排序,只不过把每一步都打印了出来

浙公网安备 33010602011771号