zoukankan      html  css  js  c++  java
  • 希尔排序

      基本思想:
       先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录"基本有序"时,再对全体记录进行依次直接插入排序。(不稳定的排序算法)

    private static void ShellSort(int [] arr)
    {
      int k = arr.Length/2;
      while (k >= 1)
      {
        ShellInsertSort(arr,k);
        k = k/2;
      }

    }

    private static void ShellInsertSort(int[] arr,int dk)
    {
      for (int i = dk; i < arr.Length; ++i)
      {
        if (arr[i] < arr[i - dk])
        {
          int j = i - dk;
          int x = arr[i];
          arr[i] = arr[i-dk];
          while (j>0 && x < arr[j])
          {
            arr[j + dk] = arr[j];  
            j -= dk;
          }
          arr[j + dk] = x;
        }
      }
    }

  • 相关阅读:
    HTML+CSS+JS设计注册页面
    1.20学习总结
    Linux安装python3
    Linux命令
    vue安装
    Python实现发送邮件
    C语言带参数的main函数
    Fibonacci 数列递归 重复计算
    gray code 格雷码 递归
    河内塔
  • 原文地址:https://www.cnblogs.com/cherious/p/6489040.html
Copyright © 2011-2022 走看看