首页 > 编程语言 > 详细

插入排序

时间:2017-11-02 22:51:15      阅读:237      评论:0      收藏:0      [点我收藏+]
/**
 * 插入排序
 * 
 * @author Administrator
 *
 */
public class InsertSort {

    /*
     * 基本思想:
     * 在要排序的一组数中,假定前n-1个数已经排好序,现在将第n个数插到前面的有序数列中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。
     * 
     * 平均时间复杂度:O(n2)
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] arr = new int[] { 2, 3, 2, 5, 6, 1, -2, 3, 14, 12 };
        insertSort(arr);
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + "  ");
        }
    }

    private static void insertSort(int[] arr) {
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = i + 1; j > 0; j--) {
                if (arr[j] < arr[j - 1]) {
                    int temp = arr[j];
                    arr[j] = arr[j - 1];
                    arr[j - 1] = temp;
                }
            }
        }
    }

}

插入排序

原文:http://www.cnblogs.com/diyishijian/p/7774983.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!