首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

这个快速排序的异常在哪里

2012-03-17 
这个快速排序的错误在哪里?#includestdio.h#includestdlib.h#define N 5void qusort(int s[],int star

这个快速排序的错误在哪里?
#include<stdio.h>
#include<stdlib.h>

#define N 5

void qusort(int s[],int start,int end)
{
  int i,j;
  i=start;
  j=end;
  s[0]=s[start];

 while(i<j) {

while(i<j&&s[0]<=s[j]) {
j--;
}
if(i<j) {
s[i]=s[j];
i++;
}

while(i<j&&s[i]<=s[0]) {
i++;
}
if(i<j) {
s[j]=s[i];
j--;
}

s[i]=s[0];
if(start<i) {
qusort(s,start,j-1);
}
if(j<end) {
qusort(s,i+1,end);
}
  }

}
int main(int argc,char **argv)
{
  int arr[N];
  int i;
  printf("...input the nunber...\n");
   
  for(i=0;i<N;i++) {
scanf("%d",&arr[i]);
  }
qusort(arr,0,4);
printf("the sort numbers:\n");
   
  for(i=0;i<N;i++) {
printf("%5d",arr[i]);
  }
  printf("\n");
  return 0;
}


[解决办法]
排序算法总结,博文有详细描述,希望对你有所帮助
http://blog.csdn.net/furney/article/details/7107145

热点排行
Bad Request.