社区
C语言
帖子详情
怎么样使用递归的方法实现选择排序???救我!!!
eleven1012
2003-08-23 08:25:34
怎么样使用递归的方法实现选择排序???
是否所有的迭代都能用递归来实现??
谢谢高手们!!
...全文
353
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,开始好好学习,但明天又会继续下载去放纵自己。我们忙碌,我们孤独,我们在一遍遍地逃避和自我安慰中变得惴惴不安,拖延和等待终将击垮我们的斗志。人生几何,去日良多,不要再让拖延彻底吞噬了你我!
那些年忽略的知识:时间复杂度和空间复杂度详解
那些年忽略的知识:时间复杂度和空间复杂度详解概述时间复杂度1、常数阶 O(1)2、线性阶 O(n)3、平方阶 O(n²)4、对数阶 O(logN)5、线性对数阶 O(nlogN)6、更多...空间复杂度总结参考资料 概述 尴尬,学妹问我“冒泡排序、二分查找、希尔排序、快速排序
方法
”算法的『时间复杂度』,我只能
使用
百度查询答案进行了回答,但这不符合我的人设,我必须要弄懂这个东西。 作为一个「不称职的攻城狮」,对复杂度的概念是很模糊的,更不要说去计算复杂度了。 但是在开发中对于代码快的执行,做到“提高代码执行
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章