算法导论学习日记(7)冒泡排序的递归实现
2016-12-19 21:18
183 查看
一开始思考这个问题的时候冒泡排序是不能用递归实现的,因为他需要对整个数组进行操作,而根据分治法,必须要有分解,解决和合并三个部分,所以分解数组缩小规模看起来似乎是不能行的。后来想了想,发现削减一层循环,做成递归就好。所以默默的说一句,这个递归就是非递归方式的 外层循环啊。
#include <iostream> using namespace std; void BubbleSort(int *a,int n,int j) { if(j==n) return ; int i=0; for(i=n;i>j;i--) { if(a[i-1]>a[i]) { int temp=a[i]; a[i]=a[i-1]; a[i-1]=temp; } } BubbleSort(a,n,j+1); } int main() { int a[10]={9,8,7,6,5,4,3,2,1,0}; BubbleSort(a,9,0); int i=0; for(i=0;i<10;i++) { cout<<a[i]<<" "; } cout<<endl; return 0; }
相关文章推荐
- 【算法】冒泡排序与选择排序的递归实现
- java递归实现冒泡排序
- 递归实现冒泡排序
- 递归实现链表的冒泡排序。
- 快速排序、冒泡排序、堆排序、shell排序的递归和非递归实现
- 递归方式实现BubbleSort 冒泡排序
- 递归实现冒泡排序
- 下标注意【算法】冒泡排序与选择排序的递归实现
- 常见的五类排序算法图解和实现(交换类:冒泡排序,递归的快速排序)
- 实现冒泡排序的和快速排序的递归和非递归版——题集(十七)
- 排序算法杂谈(二) —— 冒泡排序的递归实现
- 递归实现冒泡排序
- [java]冒泡排序的常规、改进以及递归实现
- 经典排序——归并、快排递归与非递归实现与冒泡排序
- 插入排序,选择排序,递归排序和冒泡排序的实现
- 常见的五类排序算法图解和实现(交换类:冒泡排序,递归的快速排序)
- 常见的五类排序算法图解和实现(交换类:冒泡排序,递归的快速排序)
- 用VB函数Dir实现递归搜索目录
- 一个递归实现的取数游戏
- 树形目录的递归实现(一)数据库+jsp+javabean