zoukankan      html  css  js  c++  java
  • 折半插入排序算法(改进的直接插入排序算法)


    直接插入排序算法,是一个查找和插入的过程,其中的查找过程可以使用折半查找方法来代替,因为插入排序的序列也是一个有序的序列

    直接插入排序算法的连接

    有序序列的折半查找算法的链接

    c#代码
      #region 折半插入排序算法
            public static void HalfInsertSort(ref int[] array)
            {
                for(int i=2;i<array.Length;++i)
                {
                    array[0] = array[i]; //或者也可以添加if (array[i] < array[i - 1])先行判断
                    int low = 1;
                    int high = i - 1;
                    while(low <= high)
                    {
                        int mid = (low + high) / 2;
                        if (array[0] < array[mid]) high = mid - 1;
                        else low = mid + 1;
                    }
                    int j=0;
                    for (j = i - 1; j >= high + 1; --j)
                    {
                        array[j + 1] = array[j];
                    }
                    array[j + 1] = array[0];
                }
            }
                #endregion

    本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

  • 相关阅读:
    TypeScript
    monorepo
    Sass和Less
    浏览器的多进程
    React router的Route应用
    CSS3 之 Media(媒体查询器)
    迷失了自己~
    实现跨域的项目实践
    Python开发入门14天集训营-第二章
    Python开发入门14天集训营-第一章
  • 原文地址:https://www.cnblogs.com/zjypp/p/2319297.html
Copyright © 2011-2022 走看看