非循环的冒泡排序
来源:互联网 发布:淘宝隐藏未完成订单 编辑:程序博客网 时间:2024/04/29 07:06
在不适用循环的条件下,写出冒泡排序。
循环与递归之间可以相互转换,不让使用循环那只能通过递归来代替循环过程了。
搞清楚递归过程中需要改变的变量和递归的结束条件就ok了。
代码比较简单,如下所示:
#include<iostream>#include<algorithm>using namespace std;void BubbleSortNoLoop(int a[],int start,int n){ //start:每次比较的第一个数字 //n: 待排序的元素个数 if(start==n-1){ --n; start=0; } if(n==1) return; if(a[start]>a[start+1]) swap(a[start],a[start+1]); BubbleSortNoLoop(a,start+1,n);}int main(){ //int a[5]={5,2,3,8,1},n=5; int a[11]={10,8,6,20,4,3,22,1,0,15,16},n=11; BubbleSortNoLoop(a,0,n); for(int i=0;i<n;++i) cout << a[i]<<" "; cout << endl; return 0;}
0 0
- 非循环的冒泡排序
- 双向循环链表的冒泡排序
- 循环 最大公约数 冒泡排序
- 快速排序。冒泡排序递归和非递归的实现
- for循环数组冒泡排序
- 冒泡排序的4种for循环写法
- 快速排序、冒泡排序、堆排序、shell排序的递归和非递归实现
- 非递归排序之冒泡排序
- 快速排序(递归,非递归),希尔排序,冒泡排序的比较
- 冒泡排序 两层循环和单层循环的实现方法
- 经典算法学习——非循环双向链表实现冒泡排序(不带头结点)
- 经典算法学习——非循环双向链表实现冒泡排序(带头结点尾结点)
- C++冒泡排序递归&&非递归版本
- 冒泡排序及退出双重循环
- 跳出循环、常量、枚举、数组、冒泡排序
- 冒泡排序—for循环实现
- 冒泡排序并统计其循环次数
- 用for循环实现冒泡排序
- 位运算
- 数据库封装
- CentOS 6.3 NFS的安装配置、启动及mount挂载方法
- Mybatis最入门---映射文件(1)
- Android图片适配的来龙去脉
- 非循环的冒泡排序
- 论文阅读:Memory Networks
- Activity之间数据传输
- Android 判断横屏还是竖屏以及设置方式
- 声明对象和创建对象
- VC静态文本控件的缩放问题
- IE已结360浏览器兼容模式float:right;另起一行的解决方法
- 2016/4/18运营面经
- 关于 Failed to fetch URL https://dl-ssl.google.com/android/repository/addons_list-1.xml 的解决办法