| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 229 人关注过本帖
标题:一个C语言的问题想请教
只看楼主 加入收藏
nilide
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-4-11
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
一个C语言的问题想请教
#include<stdio.h>
#define N 10
//int p,q,m;
int A[N]={5,8,1,10,6,3,12,2,15,20};
void partition(int m,int p){
int i,v,t;
v=A[m];
i=m;
while(1)
{
   
do{
i++;
}while(A[i]<v);
    do{
p--;
}while(A[p]>v);
if(i<p){
    t=A[i];A[i]=A[p];A[p]=t;
}
else
break;
}
A[m]=A[p];A[p]=v;
}




void quiksort(int p,int q){//你原先的定义是不对的你
int j;  //要那么写的话应该这样int p,q; void quiksort(p,q);
if(p<q){

j=q+1;
partition(p,j);
quiksort(p,j-1);
quiksort(j+1,q);
}
}

void main(){
    int i;
  quiksort(0,9);//你写的quiksort真是前后不一致术语笔误

  printf("the sort result:\n************\n");
  for(i=0;i<N;i++)
printf("%d\t",A[i]);


}

这个程序数不出结果。。我知道是静如了死循环。。哪位高手能告诉我到底是哪的问题
谢谢》。。。。。。。。。。。。。。。。。
搜索更多相关主题的帖子: C语言 
2010-04-11 00:12
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
收藏
得分:20 
#include<stdio.h>
#define N 10
//int p,q,m;
int A[N]={5,8,1,10,6,3,12,2,15,20};
void partition(int m,int p){
int i,v,t;
v=A[m];
i=m;
while(1)
{
   
do{
i++;
}while(A[i]<v);
    do{
p--;
}while(A[p]>v);
if(i<p){
    t=A[i];A[i]=A[p];A[p]=t;
}
else
break;
}
A[m]=A[p];A[p]=v;
}



这函数什么意思啊   看不懂,是调用函数吗?那就应该不用文件名啊,如果不是,那么这函数怎么没主函数啊?不懂。
2010-04-11 07:05
nilide
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-4-11
收藏
得分:0 
快速排序的
2010-04-11 12:21
nilide
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-4-11
收藏
得分:0 
就只是没达到排序的目的。数不出结果。。我检查就是循环的问题
2010-04-11 12:23
快速回复:一个C语言的问题想请教
数据加载中...
 
   



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

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