| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1251 人关注过本帖
标题:[求助]快速排序法那里有错误?
取消只看楼主 加入收藏
jxt598598
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2007-6-13
结帖率:100%
收藏
 问题点数:0 回复次数:9 
[求助]快速排序法那里有错误?


#include "stdio.h"
#include "stdlib.h"
#define N 5
int sort(int *d,int e,int f);

int main()
{
int a[N];
int i;

printf("请输入五个数:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("输入的数为:\n");
for(i=0;i<N;i++)
printf("%d ",a[i]);

sort(a,0,N);
printf("排好序的数为:\n");
for(i=0;i<N;i++)
printf("%d ",*(a+i));
return 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)
y--;
*(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 20:37:47编辑过]

搜索更多相关主题的帖子: 快速 include return 
2007-10-27 19:10
jxt598598
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2007-6-13
收藏
得分:0 
回复:(aipb2007) w=partition(*b,m,n); sort(*...

改过了 但是还是有 错误 ,没法执行排序.


qq:304742297
2007-10-28 20:42
jxt598598
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2007-6-13
收藏
得分:0 
回复:(nuciewth)w=partition(*b,m,n); sort(*b,m...
改过了 但是还是有 错误 ,没法执行排序.

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

都改过了。还是不中。
程序好象进入到了死循环了。


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

#include "stdio.h"
#include "stdlib.h"
#define N 5


int partition(int *d,int e,int f)
{
int x,y,z,t;
e=z;
f=y;
x=*(d+e);
while(y>0)
{
while(z!=y)
{
if(*(d+y)>x)
{ y=y-1;}
else
{ t=x;
x=*(d+y);
*(d+y)=x;
}
if(*(d+z)<x)
{ z=z+1;}
else
{t=*(d+z);
*(d+z)=*(d+y);
*(d+y)=t;
}

partition( d, e, f);
}
}
main()
{

int a[N];
int i;
printf("请输入五个数:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("输入的数为:\n");
for(i=0;i<N;i++)
printf("%d ",a[i]);

partition(a,0,N-1);
printf("排好序的数为:\n");
for(i=0;i<N;i++)
{ printf("%d ",a[i];}
return 0;
}
那里 还有错误?


qq:304742297
2007-10-30 09:05
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
jxt598598
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2007-6-13
收藏
得分:0 
回复:(chmlqw)我知道哪里错了,晕int sort(int *d,...
while 跟if应该一样吧

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

谢谢大家了。我的程序终于调通了。


qq:304742297
2007-11-01 12:16
快速回复:[求助]快速排序法那里有错误?
数据加载中...
 
   



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

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