| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 766 人关注过本帖
标题:关于排序,能不能用递归实现
只看楼主 加入收藏
whukeming
Rank: 2
等 级:论坛游民
帖 子:76
专家分:51
注 册:2008-8-24
结帖率:0
收藏
已结贴  问题点数:20 回复次数:10 
关于排序,能不能用递归实现
比如说输入十个整数,用递归调用函数实现从大到小排序
2013-04-13 08:32
helloUJS
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:168
专家分:731
注 册:2013-3-27
收藏
得分:10 
#include "stdio.h"
#define N 8
void sort(int a[],int n)
{int j,t;
 if(n>1)
  {
    sort(a,n-1);
    t=a[n-1];
    j=n-2;
    while(a[j]>t&&j>=0)
      {a[j+1]=a[j];
       j--;}
    a[j+1]=t;
   }
}
main()
{int a[N]={9,8,7,6,5,4,3,2},i;
 sort(a,N);
  for(i=0;i<N;i++)
    printf("%d ",a[i]);
}
参考这个,另外快速排序也比较好理解
2013-04-13 09:06
whukeming
Rank: 2
等 级:论坛游民
帖 子:76
专家分:51
注 册:2008-8-24
收藏
得分:0 
回复 2楼 helloUJS
这个是叫什么排序方法?
2013-04-13 09:09
helloUJS
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:168
专家分:731
注 册:2013-3-27
收藏
得分:0 
回复 3楼 whukeming
插入排序:现将数组的n-1个元素排序,然后插入最后一个元素

[ 本帖最后由 helloUJS 于 2013-4-13 09:16 编辑 ]
2013-04-13 09:14
whukeming
Rank: 2
等 级:论坛游民
帖 子:76
专家分:51
注 册:2008-8-24
收藏
得分:0 
仔细研究下,刚看了个快速排序,感觉算法都不错。

就是递归那块看起来比较困难,慢慢研究
2013-04-13 09:34
helloUJS
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:168
专家分:731
注 册:2013-3-27
收藏
得分:0 
#include "stdio.h"
#define N 8
void swap(int a[],int i,int j)
{int t;
 t=a[i];a[i]=a[j];a[j]=t;
}
void quicsort(int a[],int left,int right)
{int m,i,last;
 if(left<right)
  {
    m=(left+right)/2;/*随便选一个元素,这里选了中间一个*/
    swap(a,left,m);/*将个元素与最左边元素交换*/
    last=left;
    for(i=left+1;i<=right;i++) /*使得a[left+1]~a[last]之间的每一元素都<a[left]*/
       if(a[i]<a[left])
          {
            last++;
            swap(a,i,last);
           }
    swap(a,left,last);
    quicsort(a,left,last-1);
    quicsort(a,last+1,right);  
  }
}
main()
{int a[N]={9,8,7,6,5,4,3,2},i;
 quicsort(a,0,N-1);
  for(i=0;i<N;i++)
    printf("%d ",a[i]);
}
这是一个比较好理解的快速排序
2013-04-13 09:42
whukeming
Rank: 2
等 级:论坛游民
帖 子:76
专家分:51
注 册:2008-8-24
收藏
得分:0 
回复 6楼 helloUJS
嗯, 我之前看的就是这个,没有细看,等会儿仔细看下
2013-04-13 10:54
whukeming
Rank: 2
等 级:论坛游民
帖 子:76
专家分:51
注 册:2008-8-24
收藏
得分:0 
初步理解了,感觉这算法的思路很好。。。
2013-04-13 14:57
whukeming
Rank: 2
等 级:论坛游民
帖 子:76
专家分:51
注 册:2008-8-24
收藏
得分:0 
回复 6楼 helloUJS
刚刚细看了下,感觉这算法的思路很好。
2013-04-13 14:57
helloUJS
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:168
专家分:731
注 册:2013-3-27
收藏
得分:0 
回复 9楼 whukeming
有收获就好
2013-04-13 15:18
快速回复:关于排序,能不能用递归实现
数据加载中...
 
   



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

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