社区
C语言
帖子详情
怎么样使用递归的方法实现选择排序???救我!!!
eleven1012
2003-08-23 08:25:34
怎么样使用递归的方法实现选择排序???
是否所有的迭代都能用递归来实现??
谢谢高手们!!
...全文
352
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
腾讯云智oc 9.19一面 —— 9.21二面 —— 9.25hr面 —— 10.12ocbase 武汉,腾讯地图部门,手机地图开发中心10月底谈薪,估计是白菜价,但是武汉确星星充电二面 聊项目说说MVCC?死锁检测怎么
实现
的?除了dfs检测环,你还有什么办法?具体说说拓扑排序?http和https有什么区别?(非对称加密加密对称加密秘钥和对称加刚投了多益,有什么需要注意的吗 简历填游戏情况我直接原神启动了,应该不会被挂吧,主要想看
[论文阅读] (01) 拿什么来拯
救
我的拖延症?初学者如何提升编程兴趣及LATEX入门详解
又是在凌晨三点赶作业,又是在Deadline前去熬夜,一次次无眠,一次次抱怨。为什么三年前、两年前、一年前,甚至是昨天,我都下定决心“从现在开始读顶会论文”,却又悄悄选择逃避;为什么我的收藏夹存了很多学习资料和视频,然而却没有再次翻起;为什么无数次告诫自己一定要卸载游戏和社交APP,开始好好学习,但明天又会继续下载去放纵自己。我们忙碌,我们孤独,我们在一遍遍地逃避和自我安慰中变得惴惴不安,拖延和等待终将击垮我们的斗志。人生几何,去日良多,不要再让拖延彻底吞噬了你我!
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章