zoukankan      html  css  js  c++  java
  • 排序算法之插入排序

    1.基本思路

    生活中最简单的例子就是玩扑克牌了,比如第一张牌拿到的是3,第二张是2,那么就把2放在三的前面,第三张拿的6就放在3的后面,现在手上牌的顺序是:2,3,6,第四张拿的1,因为1比6小,将6后移一位,接着比较1和3的位置,后移3,比较2和1,后移2,然后将1放在最前面的位置,这就是插入排序的基本思路。

     

    2.代码实现

    namespace InsertSort
    {
        class Program
        {
            static void Main(string[] args)
            {
                Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
                int[] arry = { 9, 7, 12, 6, 8, 1 };
                Console.WriteLine("-------------排序前--------------");
                for (int i = 0; i < arry.Length; i++)
                {
                    Console.Write(arry[i] + " ");
                }
                InsertSort(arry);
                Console.WriteLine("
    -------------插入排序 排序后--------------");
                for (int i = 0; i < arry.Length; i++)
                {
                    Console.Write(arry[i] + " ");
                }
                Console.ReadKey();
            }
            public static  void InsertSort(int[] arry)
            {
                if (arry.Length == 0 || arry == null)
                    return;
                for (int i = 1; i < arry.Length ; i++)
                {
                    var target = arry[i];
                    var j = i;
                    while (j > 0&&arry[j - 1] > target)
                    {
                        arry[j] = arry[j - 1];
                        j--;
                    }
                    arry[j] = target;
                }
            }
        }
    }
    

      

  • 相关阅读:
    mysql的增量备份与全备的脚本
    mysql5.7的密码
    mysql 修改root密码
    centos7上面安装MySQL
    centos7上开启路由转发
    python基础之3
    python基础之2
    深入浅出FPGA-2-让source insight 支持verilog HDL
    Verilog 1995 VS Verilog 2001
    环境搭建基础知识2(sublime text3中配置verilog语法高亮)
  • 原文地址:https://www.cnblogs.com/smilejeffery/p/7218380.html
Copyright © 2011-2022 走看看