啊哈磊_编程从这里起步
标题:
求助:当k从大到小排序时正确,不规则是不正确怎么修改
[打印本页]
作者:
foreast
时间:
2014-5-11 15:32
标题:
求助:当k从大到小排序时正确,不规则是不正确怎么修改
#include <stdio.h>
#include <stdlib.h>
int main()
{
int k[]={9,8,7,6,5,4,3,2,1,0};
int i;
QS(k,0,9);
for(i=0;i<10;i++)
{
printf("%d\n",k[i]);
}
system("pause");
return 0;
}
void QS( int *s,int l,int r)
{
int i,j,p;
if(l<r)
{
i=l;
j=r;
p=s[i];
while(i<j)
{
while(i<j && s[j]>p) j--;
if(i<j)
{
s[i]=s[j];
i++;
}
while(i<j && s[i]<p) i++;
if(i<j)
{
s[i]=s[j];
j--;
}
}
s[i]=p;
QS(s,l,i-1);
QS(s,i+1,r);
}
}
作者:
foreast
时间:
2014-5-11 15:35
当k值不规则,中间随便改个数譬如66,排序就不正确了,有高手帮忙么?
作者:
rosynirvana
时间:
2014-5-11 15:41
不规则是啥意思?
作者:
foreast
时间:
2014-5-11 16:05
rosynirvana 发表于 2014-5-11 15:41
不规则是啥意思?
你把k值改的乱一点,输出就错了
欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/)
Powered by Discuz! X3.2