算法基础--插入排序递归版
2016-01-16 23:06
417 查看
1.原址插入排序
注意:算法导论中的数组下标从1开始,C程序中是从0开始的。
3.插入排序算法改进(二分查找插入排序)
就是把A[j]与前面的元素A[1..j-1]反序扫描比较得到插入A[j]的位置改为二分查找得到插入A[j]的位置。(比较简单不再赘述)
注意:算法导论中的数组下标从1开始,C程序中是从0开始的。
void insertion_sort(int A[], int length) { int i, j; int key; for(j = 1; j < length; j++) { key = A[j]; i = j - 1; while(i >= 0 && A[i] > key) { A[i+1] = A[i]; i--; } A[i+1] = key; } }2.递归插入排序
void insertion(int A[], int length){ if(length > 1){ int key = A[length-1]; int i = length-2; while(i >= 0 && A[i] > key){ A[i+1] = A[i]; i--; } A[i+1] = key; } } void recursive_insertion_sort(int A[], int length){ if(length > 1){ recursive_insertion_sort(A, length-1); insertion(A, length); } }
3.插入排序算法改进(二分查找插入排序)
就是把A[j]与前面的元素A[1..j-1]反序扫描比较得到插入A[j]的位置改为二分查找得到插入A[j]的位置。(比较简单不再赘述)
相关文章推荐
- TOMCAT关于设置CATALINE_HOME环境变量的说明
- Python 实例一 统计指定文件的行数或读取指定文件指定行数的内容
- 魅力乌镇
- spring注解自动注入bean
- Leetcode之Combination SumII
- TOMCAT优化内存设置
- $(MAKE) , make命令
- JDK各个版本的新特性jdk1.5-jdk8
- 环境之于人
- 蓝懿ios技术交流和心得分享16.1.16
- 最大公共子序列求和问题(MCSS)
- android141 360 安装软件管理
- Android 反编译工具下载
- Flash学习记录1
- tomcat设置JDK
- bzoj1047 理想的正方形
- 大佬的1999年:刘强东卖光碟 马云要和硅谷较量
- win8+xp 双系统设定时的一点问题
- oracle笔记整理14——性能调优之oracle执行计划
- SS_关于n的n次方