zoukankan      html  css  js  c++  java
  • 直接插入排序Straight_Insertion_Sort

    基本思想:简单排序的一种。如果玩过扑克牌应该都知道顺子,这时有一把顺子但是顺序是乱的,你要去按顺序整理。那第二张牌和第一张牌比较,调整顺序后前两张牌就是有序的,接着第三张牌插入前两张的有序列中,形成三张牌的有序序列。以此类推,最后能够获得一个按顺序排列的顺子。

    算法复杂度:O(n^2)

    代码:

      public class Insertion_Sort {
      static void insertion(int [] a)
        {
            for (int i = 1; i < a.length; i++) {
                int sen = a[i];
                int j = i - 1;
                for (; j >= 0; j--)
                    if (a[j] > sen)
                        a[j + 1] = a[j];
                    else
                    {
                        break;
                    }
                a[j + 1] = sen;
    
            for (int n:a)
                System.out.print(n+" ");
            System.out.println();
            }
        }
    
        public static void main(String []args)
        {
            int [] a = {5,8,7,1,4,3,2};
            insertion(a);
        }
    }

    输出结果:

    5 8 7 1 4 3 2           //8插入5
    5 7 8 1 4 3 2           //7插入{5,8}
    1 5 7 8 4 3 2           //1插入{5,7,8}
    1 4 5 7 8 3 2           //4插入{1,5,7,8}
    1 3 4 5 7 8 2          //3插入{1,4,5,7,8}
    1 2 3 4 5 7 8         //2插入{1,3,4,5,7,8}

  • 相关阅读:
    vue 短期时间
    使用moment.js写一个倒计时
    使用moment.js
    js 共用文件内容应用
    什么是闭包?闭包的优缺点?
    卧龙阶段
    音阶
    初步理解1=C
    认识简谱的构造,唱名,音名

  • 原文地址:https://www.cnblogs.com/lbrs/p/11888636.html
Copyright © 2011-2022 走看看