| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1251 人关注过本帖
标题:[求助]快速排序法那里有错误?
只看楼主 加入收藏
hczsea
Rank: 2
等 级:论坛游民
帖 子:129
专家分:68
注 册:2007-10-23
收藏
得分:0 

调试了一下,LZ用了太多while和函数自身调用。参数传递过程中好像有误。
LZ有没快速排序的流程啊,贴出来瞧瞧。
有没高手把LZ的程序调通的,贴出来吧。
学习一下。

2007-10-30 10:50
Allul85
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-10-29
收藏
得分:0 
else
{ t=x;
x=*(d+y);
*(d+y)=x;

2007-10-30 11:48
Allul85
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-10-29
收藏
得分:0 
LZ的程序我能运行出来 但是没有排序  

2007-10-30 11:52
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
//贴个自己写的.
void Quick_Sort(list &a,int left,int right)
{
int i ,j;
if(left<right)
{
i=left;j=right;
int temp=a.data[i];
while(i!=j)
{
while(i<j&&temp>a.data[j])
{
j--;
}
if(i<j)
{
a.data[i]=a.data[j];
i++;
}
while(i<j&&temp<a.data[i])
{
i++;
}
if(i<j)
{
a.data[j]=a.data[i];
j--;
}
}
a.data[i]=temp;
Quick_Sort(a,left,i-1);
Quick_Sort(a,i+1,right);
}
}

倚天照海花无数,流水高山心自知。
2007-10-30 13:42
jxt598598
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2007-6-13
收藏
得分:0 
回复:(Allul85)LZ的程序我能运行出来 但是没有排序...
hehe 。就是不能排序。肯定是有错误但我就是找不出来啊

qq:304742297
2007-10-30 20:18
jxt598598
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2007-6-13
收藏
得分:0 
回复:(nuciewth)//贴个自己写的.void Quick_Sort(l...
我知道你的是对的 。 能不能帮看看我的那里错了。

qq:304742297
2007-10-30 20:19
jxt598598
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2007-6-13
收藏
得分:0 

同志们、、、、
看看新改的 怎么还有错误啊。
郁闷


qq:304742297
2007-10-30 20:39
chmlqw
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2007-10-11
收藏
得分:0 
我知道哪里错了,晕
int sort(int *d,int e,int f)
{
int x,y,z,t;

y=f-1;
z=e+1;
while(y>0)
{
x=*(d+e);
while(z!=y)
{
if(*(d+y)>=x&&z<y) /* 这里不应该是if , 应该是while ,下面的一样 */
y--; /* 因为当下一个元素还是大于X 时,你却把它放到另外一边了 */
*(d+z)=*(d+y);
if(*(d+z)<=x&&y>z)
z++;
*(d+y)=*(d+z);
}

*(d+z)=x;
sort(d,e,z-1);
sort(d,z+1,f);
}
return z;

}
2007-10-30 22:08
Allul85
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-10-29
收藏
得分:0 
没有啊  我运行了下 还是没有排序

2007-10-31 16:14
jxt598598
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2007-6-13
收藏
得分:0 
回复:(chmlqw)我知道哪里错了,晕int sort(int *d,...
while 跟if应该一样吧

qq:304742297
2007-10-31 20:27
快速回复:[求助]快速排序法那里有错误?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017055 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved