随机产生1000个数,分别用冒泡排序和快速排序进行排序,分别给出运行的时间和前20个数

如题所述

//快排

void qkOne(int a[],int m,int n)//m为起始位置,n为终止位置
{ int x,i,j;
i=m;
j=n;
x=a[i];//将第一个值保存在x中,做基准值。
while(i!=j)
{
while(i<j && a[j]>=x)
; /*自右向左扫描*/
if(i<j)
{
;
i++;
}
while(i<j&&a[i]<=x)
i++; /*自左向右扫描*/
if(i<j)
{ a[j]=a[i];
;
}
}
;
if(m<i&&m<=20) qkOne(a,m,i-1);//这里控制20个数就可以了,下同
if(i<n&&i<=20) qkOne(a,i+1,n);

}

冒泡排序也只要二十个就可以了,
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答