Java實現直接插入排序算法

直接插入排序是一種最簡單的排序方法,它的基本操作是將一個記錄插入到已經牌號的有序表中,從而得到一個新的有序表。實際上,在給定的一個數組中,我們可以把第一個元素看成獨立的一個有序表,其餘的元素都是待插入的元素,通過查找插入位置,移動元素位置來實現排序。

package com.bear;

public class StraightInsertion {

    private int[] list = {5,4,3,1,2,8,9,10,0,7};


    public static void main(String[] args) {

        StraightInsertion insertion = new StraightInsertion();
        insertion.visit();
        insertion.sort();
        insertion.visit();
    }
    public void sort()
    {
        int guard = list[0];
        int i,j;
        for ( i = 1; i < list.length; i++) {
            if(list[i]<list[i-1])
            {
                guard = list[i];
                for ( j = i-1; j>=0&&list[j]>guard; j--) {
                    list[j+1] = list[j];
                }
                list[j+1] = guard;
            }
        }
    }
    public void visit()
    {
        System.out.print("the list = ");
        for (int i = 0; i < list.length; i++) {
            System.out.print(list[i]+" ");
        }
        System.out.println();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章