Johnny

表面的激烈是由于内心的单薄,真正的力量如同流水一般沉静
随笔 - 1, 文章 - 5, 评论 - 0, 引用 - 0
数据加载中……

直接插入排序Java代码

/**
 * 直接插入排序
 * 
@author sikaijian
 
*/
public class DirectInsertSort {
    public static void sort(int[] data){
        int pCurrent = 1;   // 认定第0个数是有序的,从第1个数开始插入排序
        int n = data.length;
        
        while(pCurrent<n){
            int front = pCurrent-1;
            int key = data[pCurrent];
            
            // 当前要插入的数和左边的有序队列比较(从右往左比较,比较一次移动一次)
            while(front>-1 && key<data[front]){
                data[front+1] = data[front];
                front--;
            }
            
            data[front+1] = key;
            
            pCurrent++;
        }
    }
    
    /**
     * 测试代码
     * 
@param args
     
*/
    public static void main(String[] args) {
        int[] data = new int[] { 49, 23, 65, 13, 38, 96, 12, 33, 88, 123, 22,
                11, 9, 55, 111, 0 };

        for (int t : data) {
            System.out.print(t);
            System.out.print(" ");
        }
        System.out.println();
        System.out.println("------------------------------");
        DirectInsertSort.sort(data);

        for (int t : data) {
            System.out.print(t);
            System.out.print(" ");
        }
    }
}

posted on 2012-09-21 14:23 瓢菝的雨夜 阅读(203) 评论(0)  编辑  收藏 所属分类: 数据结构算法


只有注册用户登录后才能发表评论。


网站导航: