插入排序
来源:互联网 发布:核酸数据库 编辑:程序博客网 时间:2024/06/01 21:34
插入排序的基本思想:首先选择第一个元素作为有序部分,从第二个元素开始到结尾作为无序部分。从无序部分的第一个元素开始,和有序部分的最后一个元素开始向前进行比较,直到找到正确的位置为止。
/** * 对从开始位置和结束位置的元素进行排序 * @param a 原始数组 * @param first 开始位置 * @param last 结束位置 */public static void insertionSort(int[] a,int first, int last){for(int unSorted = first+1; unSorted < last; unSorted++){int firstUnSorted = a[unSorted]; insertInOrder(firstUnSorted,a,first,unSorted-1);}}/** * * @param element 当前无序部分的元素 * @param a 原始数组 * @param begin 有序部分的开始位置 * @param end 有序部分的结束位置 */public static void insertInOrder(int element, int[] a, int begin, int end) {int index = end; //从有序部分最后一个元素开始向前进行比较while((index >= begin) && (element < a[index])){a[index+1] = a[index];index--;}a[index+1] = element;}时间复杂度:O(n^2)
0 0
- 插入排序-【插入排序】
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 申请SSL证书来安全使用HTTPS
- 构建高性能web之路------mysql读写分离实战
- 正则表达式知识详解之基础知识 (java版示例)
- Linux下查各子目录占磁盘大小
- 超好用的7个超实用的PHP函数
- 插入排序
- Amoeba 在Master/Slave结构下的读写分离
- Android学习笔记-Activity窗口的创建过程
- 二分查找
- Linux防火墙的设置
- JQUERY —— 绑定事件/获取下拉框的值
- 文章标题
- SUN dataset图像数据集下载
- 设置UIButton中的文字和图片,设置UILabel的文在显示不同颜色