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();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章