码迷,mamicode.com
首页 > 编程语言 > 详细

数据结构之插入排序

时间:2017-03-27 15:52:07      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:pre   ati   bsp   div   []   依次   算法   --   数据结构   

  • 基本原理

       对于给定的一组记录,初始时假设第一个记录自成一个有序序列,其余记录为无序序列。接着从第二个记录开始,按照记录的大小依次将当前处理的记录插入到其之前的有序序列中,知道最后一个记录插入到有序序列中为止。

 

  • 程序如下
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]+" ");
        }
    }
}

         程序结果

技术分享

 

  • 算法分析
  1. 最好时间:O(n)
  2. 平均时间:O(n2)
  3. 最坏时间:O(n2)
  4. 辅助存储:O(1)
  5. 稳定性:稳定

数据结构之插入排序

标签:pre   ati   bsp   div   []   依次   算法   --   数据结构   

原文地址:http://www.cnblogs.com/jiqianqian/p/6626764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!