排序算法---直接插入排序
来源:互联网 发布:联通网络整合营销包括 编辑:程序博客网 时间:2024/06/05 21:53
算法思想
一群孩子一起站队列,现在需要他们从矮到高排。
老师就说话了:“从第一个开始,如果你比前面的高,你就不动;如果你比前面的矮,你就走到他前面,如此继续,直到你比你前面的高就不动了”。
老师的话就是最直观的插入排序思想。
即:
1. 找到插入元素。
2. 把元素插到合适的位置,即比前面的大,比后面的小。
直接插入排序
public static void insertSort(int[] array) { for (int i = 0; i < array.length; i++) { int insert = array[i]; int pos = i; //如果当前元素小于前一个元素,则交换位置,继续向前比较 while (pos > 0 && insert < array[pos - 1]) { array[pos] = array[pos - 1]; pos--; array[pos] = insert; } } }
复杂度分析
最好情况:O(n)
最坏:O(n*n)
平均:O(n*n)
阅读全文
0 0
- [排序算法,插入排序]--直接插入排序
- 直接插入排序算法
- 直接插入算法排序
- 直接插入排序算法
- 直接插入排序算法
- 直接插入排序算法
- 直接插入排序算法
- 直接插入排序算法
- 直接插入排序算法
- 直接插入排序算法
- 直接插入排序算法
- 直接插入排序算法
- 直接插入排序算法
- 直接插入排序算法
- 直接插入排序算法
- 直接插入排序算法
- 直接插入排序算法
- 直接插入排序算法
- 使用 poi 根据 word 模板生成 word 文件
- Angular4.x 引入第三方 JS
- 适用于STL泛型的归并(合并排序)排序算法设计
- mysql的merge存储引擎应用
- Glide 4.0源码分析(1)
- 排序算法---直接插入排序
- 构造排序二叉树,并按行从左到右输出
- MATLAB绘图
- 1
- linux部署web项目到tomcat下(图文详解)
- 数据结构与算法之栈
- SiteSucker使用记录
- 配置wamp
- NodeMCU刷uart模块掉坑~~~