我是程序员;您好程先生;叫我序员就好了

插入排序算法--java

2014-10-13  本文已影响0人  也兰野风
算法简介

基本思想

将n个元素的数列分为已有序和无序两个部分,如下所示:
{{a1},{a2,a3,a4,…,an}}
{{a1⑴,a2⑴},{a3⑴,a4⑴ …,an⑴}}

{{a1(n-1),a2(n-1) ,…},{an(n-1)}}
每次处理就是将无序数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到有序数列的合适位置中。

java代码实现(整形数组)
public class Sort{
    public static void insertionSort(int[] a){  
        int i,j,key,n=a.length;
        for(j = 1;j < n;j++){
            key = a[j];
            i = j - 1;
            while(i >= 0 && a[i] > key){
                a[i + 1] = a[i];
                i--;
            }
            a[i + 1] = key; 
        }
    }
}
public class Test{
    public static void main(String args[]){
        int a[] ={4,5,36,8,1,22};
        Sort.insertionSort(a);
        for(int i = 0; i < a.length; i++){
            System.out.println(a[i] + " ");
        }
    }
}
insertionsort.PNG
上一篇 下一篇

猜你喜欢

热点阅读