美文网首页
插入排序

插入排序

作者: uzck | 来源:发表于2017-02-26 19:39 被阅读0次

    考研时候复习严蔚敏的数据结构,发现还有好多自己不会的东西,甚至连插入排序都忘了。特别尴尬。
    插入排序的思路很简单,假设该数字前的数组已经是排好序了的,再将这个数字插入到合适的位置,再将后面的元素往后移一位。
    比如4 1 9 7 20 3 5这样一个数组
    第一趟排序后:1 4 9 7 20 3 5
    第二趟排序后:1 4 9 7 20 3 5
    第三趟排序后:1 4 7 9 20 3 5
    第三趟排序后:1 4 7 9 20 3 5
    第四趟排序后:1 3 4 7 9 20 5
    第五趟排序后:1 3 4 5 7 9 20
    具体算法如下:

    public static void insertSort(int[] nums) {
        int i, j, temp;
        for (i = 1; i < nums.length; i++) {
            temp = nums[i];
            for (j = i - 1; j >= 0 && nums[j] > temp; j--) {
                nums[j + 1] = nums[j];
            }
            nums[j + 1] = temp;
       }
    }
    

    代码应该非常好懂,不需要做赘述了。

    相关文章

      网友评论

          本文标题:插入排序

          本文链接:https://www.haomeiwen.com/subject/xpfawttx.html