社区
C语言
帖子详情
怎么样使用递归的方法实现选择排序???救我!!!
eleven1012
2003-08-23 08:25:34
怎么样使用递归的方法实现选择排序???
是否所有的迭代都能用递归来实现??
谢谢高手们!!
...全文
356
5
打赏
收藏
怎么样使用递归的方法实现选择排序???救我!!!
怎么样使用递归的方法实现选择排序??? 是否所有的迭代都能用递归来实现?? 谢谢高手们!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Dragon132
2003-08-23
打赏
举报
回复
选择排序的递归算法
#include <stdio.h>
select(int a[8],int m,int n)
{
int i,t,k;
k=m;
for(i=m+1;i<n;i++)
if(a[k]>a[i])
k=i;
if(k!=m)
{
t=a[k];
a[k]=a[m];
a[m]=t;
}
if(m<n)
select(a,m+1,n);
}
main()
{
int a[10]={46,55,13,42,94,17,05,70};
int i;
select(a,0,8);
for(i=0;i<8;i++)
printf("%4d",a[i]);
printf("\n");
}
sakurar
2003-08-23
打赏
举报
回复
快速排序、堆排序等树型排序都用递归方式,效率一点儿也不差。
liuyuw
2003-08-23
打赏
举报
回复
那不好说,可能有些能用,只是还没想出来而已,也可能有些根本就不能用递归。递归实现起来比较清楚,但是效率可能比有些实现要差一些。
eleven1012
2003-08-23
打赏
举报
回复
是否所有的迭代都能用递归来实现??
liuyuw
2003-08-23
打赏
举报
回复
很多啊,比如快速排序:
#include<iostream>
using namespace std;
void swap(int &a,int &b)
{
int temp;
temp=a;
a=b;
b=temp;
}
int Partition(int a[],int low,int high)
{
int pivot=a[low];
while(low<high)
{
while(low<high&&a[high]>=pivot) --high;
swap(a[low],a[high]);
while(low<high&&a[low]<=pivot) ++low;
swap(a[high],a[low]);
}
return low;
}
void QSort(int a[],int low,int high)
{
if(low<high)
{
int pivotloc=Partition(a,low,high);
QSort(a,low,pivotloc-1);
QSort(a,pivotloc+1,high);
}
}
void main()
{
int a[10]={9,8,7,6,5,4,3,2,1,0};
QSort(a,0,10);
for(int i=0;i<10;i++)
cout<<a[i]<<" ";
cout<<endl;
}
排序
算法_快速
排序
它的基本思想是:通过一趟
排序
将要
排序
的数列分成独立的两个部分,其中一部分的所有数据都比后一部分的所有数据都要小,然后再按此
方法
对这两个部分分别进行快速
排序
,整个
排序
过程可以
递
归进行,以次达到整个数列...
排序
算法_归并
排序
的边界问题
归并
排序
边界的解决
方法
: 1. left >= right 时 return 2. mid 归为左序列
题解 | #最长上升子序列(一)# c++ &;&; java
死锁检测怎么
实现
的?除了dfs检测环,你还有什么办法?具体说说拓扑
排序
?http和https有什么区别?(非对称加密加密对称加密秘钥和对称加刚投了多益,有什么需要注意的吗 简历填游戏情况我直接原神启动了,应该不会...
[论文阅读] (01) 拿什么来拯
救
我的拖延症?初学者如何提升编程兴趣及LATEX入门详解
为什么三年前、两年前、一年前,甚至是昨天,我都下定决心“从现在开始读顶会论文”,却又悄悄
选择
逃避;为什么我的收藏夹存了很多学习资料和视频,然而却没有再次翻起;为什么无数次告诫自己一定要卸载游戏和社交...
那些年忽略的知识:时间复杂度和空间复杂度详解
尴尬,学妹问我“冒泡
排序
、二分查找、希尔
排序
、快速
排序
方法
”算法的『时间复杂度』,我只能
使用
百度查询答案进行了回答,但这不符合我的人设,我必须要弄懂这个东西。 作为一个「不称职的攻城狮」,对复杂度的...
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章