首页 > 代码库 > 数据结构之插入排序
数据结构之插入排序
- 基本原理
对于给定的一组记录,初始时假设第一个记录自成一个有序序列,其余记录为无序序列。接着从第二个记录开始,按照记录的大小依次将当前处理的记录插入到其之前的有序序列中,知道最后一个记录插入到有序序列中为止。
- 程序如下
public class Test{ public static void insertSort(int[] a){ for(int i=1;i<a.length;i++){ int temp = a[i], j = i; if(temp<a[j-1]){ while(j>=1 && temp<a[j-1]){ a[j] = a[j-1]; j--; } } a[j] = temp; } } public static void main(String[] args){ int[] a = {7,6,4,8,9,3,2}; insertSort(a); for(int i=0;i<a.length;i++){ System.out.print(a[i]+" "); } } }
程序结果
- 算法分析
- 最好时间:O(n)
- 平均时间:O(n2)
- 最坏时间:O(n2)
- 辅助存储:O(1)
- 稳定性:稳定
数据结构之插入排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。