标题:请教用”快速法”排序
只看楼主
dyoli
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-10-20
 问题点数:0 回复次数:2 
请教用”快速法”排序

我刚学编程,想用”快速法”排序,下面是我写的程序,有一些问题,但我又不知道错在那里,请教大家.
下面是代码:
#include "stdio.h"
void quick(int *a,int i,int j)
{
int m,n,temp;
int k;
m=i;
n=j;
k=a[(i+j)/2]; /*Ñ¡È¡µÄ²ÎÕÕ*/
do {
while(a[m]<k&&m<j) m++; /* ´Ó×óµ½ÓÒÕÒ±Èk´óµÄÔªËØ*/
while(a[n]>k&&n>i) n--; /* ´ÓÓÒµ½×óÕÒ±ÈkСµÄÔªËØ*/
if(m<=n) { /*ÈôÕÒµ½ÇÒÂú×ãÌõ¼þ£¬Ôò½»»»*/
temp=a[m];
a[m]=a[n];
a[n]=temp;
m++;
n--;
}
}while(m<=n);
if(m<j) quick(a,m,j); /*ÔËÓõݹé*/
if(n>i) quick(a,i,n);
}


void print(int *a,int n)
{
int i;
for(i=0;i<n;i++)
printf("%5d",a[i]);
printf("\n");
}

main()
{
int a1[]={15,0,5,8,1,7,28,70,9,8};
printf("According to quick:");
quick(a1,0,9);


}

搜索更多相关主题的帖子: 快速 学编程 include 
2005-11-08 23:10
wgrinms
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-11-4
得分:0 

在main()
{
.
.
.
.
加上print(a1,10);
}

[此贴子已经被作者于2005-11-8 23:28:39编辑过]

2005-11-08 23:21
cillin
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2005-3-10
得分:0 

不好意思 是偶弄错了

[此贴子已经被作者于2005-11-9 16:57:38编辑过]


2005-11-09 00:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-33122-1-1.html




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

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