| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 475 人关注过本帖
标题:快速排序遇到的小问题
取消只看楼主 加入收藏
达尔文
Rank: 2
等 级:论坛游民
帖 子:84
专家分:29
注 册:2015-8-22
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:3 
快速排序遇到的小问题
程序代码:
#include<stdio.h>

#define N 10

void quicksort(int a[], int low, int high);
int split(int a[], int low, int high);

int main(void)
{
    int a[N], i;
    
    printf("Enter %d numbers to be sorted:",N);
    for (i = 0; i < N; i++)
      scanf("%d",&a[i]); 
      
    quicksort(a, 0, N - 1);
    
    printf("In sortrd order:");
    for (i = 0; i < N; i++)
      printf("%d ",a[i]);
    printf("\n");          
    
    return 0; 
}
void quicksort(int a[], int low, int high)
{
    int middle;
    
    if(low >= high)   return;    //(1)关于这个return的返回问题,它会返回一个什么值呢
    middle = split(a, low, high);
    quicksort(a, low, middle - 1);
    quicksort(a, middle + 1, high);
    
}
int split(int a[], int low, int high)
{
    int part_element = a[low];
    while(1){
    
       while(low < high && part_element < a[high])   
       
       high--;
       if(low >= high)     break;
       a[low++] = a[high];
    
      while(low < high && a[low] <= part_element)   
       
       low++;
       if(low >= high)     break;
       a[high--] = a[low];    
    
}
    a[high] = part_element;
    return high;
}

书上的一道快速排序程序,当分析了原程序后,了解了算法。便自己根据书上的思维按印象来写,写完后,程序闪退无法运行,对比书上程序,发现是忘了(1)那行代码,分析之后,还是无法理解那个return会返回什么值,这个调试也无法看出那行的作用呀。。虚心求教
2015-09-20 01:20
达尔文
Rank: 2
等 级:论坛游民
帖 子:84
专家分:29
注 册:2015-8-22
收藏
得分:0 
是返回原quicksort(a, 0, N - 1);那个地方么,然后开始输出?还是?

能有一件喜欢的事很不容易,就坚持下去吧.....
2015-09-20 01:32
达尔文
Rank: 2
等 级:论坛游民
帖 子:84
专家分:29
注 册:2015-8-22
收藏
得分:0 
回复 3楼 小王KING
嗯,昨天没想明白

能有一件喜欢的事很不容易,就坚持下去吧.....
2015-09-20 11:58
达尔文
Rank: 2
等 级:论坛游民
帖 子:84
专家分:29
注 册:2015-8-22
收藏
得分:0 
回复 4楼 TonyDeng
明白啦

能有一件喜欢的事很不容易,就坚持下去吧.....
2015-09-20 11:59
快速回复:快速排序遇到的小问题
数据加载中...
 
   



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

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