算法:插入排序
来源:互联网 发布:阿里云服务器内存监控 编辑:程序博客网 时间:2024/05/03 02:52
一、思想
插入排序:首先,从1个元素子数组元素开始,将第2个元素依次与子数组的元素比较大小,找个合适的位置(并将相应的子数组元素后移)并插入;再次,将第3个元素依次与子数组(2个元素)的元素比较大小,并插入到相应的位置;如此往复,直道将整个数组排序;
二、与选择排序比较
相同:当前索引左边的元素都是有序的,但是插入最终位置还不确定,为了给更小的元素腾出空间,可能会移动;
不同:插入排序所需的时间取决于输入中的元素的初始顺序(对于很大且数组元素已经有序(或接近有序)的数组进行排序将会比随机顺序的数组或逆序数组排序快得多;
三、代码
/** * 插入排序 * * @author pengcx * */ public class Insertion extends Sort{ public static void main(String[] args) { String[] a = { "d", "a", "w", "b", "q" }; Insertion.sort(a); show(a); } /** * 排序数组a * * @param a * 排序的数组a */ private static void sort(Comparable[] a) { int N = a.length; for (int i = 0; i < N; i++) { for (int j = i; j > 0 && less(a[j], a[j - 1]); j--) { exch(a, j, j - 1); } } } }
2 0
- 排序算法-插入排序
- 排序算法--插入排序
- 排序算法---插入排序
- 排序算法-插入排序
- 排序算法-插入排序
- 排序算法--插入排序
- 排序算法-插入排序
- 排序算法-插入排序
- 排序算法---插入排序
- 排序算法--插入排序
- 排序算法--插入排序
- 排序算法--插入排序
- 排序算法-插入排序
- 排序算法--插入排序
- 排序算法-插入排序
- 排序算法-插入排序
- 排序算法--插入排序
- 排序算法-插入排序
- 数据封装---结构体
- 数据清洗
- 美工切图
- 编译通过,ldd 提示not found
- 常用渗透测试工具使用tips
- 算法:插入排序
- Web服务(Web Service)概述
- 深入理解 JavaScript 中的 replace 方法
- U-BOOT源码分析及移植
- 阿西莫夫50年前预言,网文网游正媾和——王冠雄
- Swing透明遇到输入法等于白屏
- 拓胜第十五天
- 有关线程的详细分析
- 用GDB调试程序