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;
        }
      }
    }

  • 相关阅读:
    inner join on, left join on, right join on讲解(转载)
    ref 与 out
    Shell基础01
    Python 基础01
    linux基础03
    Shell基础02
    linux基础02
    Linux基础01
    linux基础05
    linux基础04
  • 原文地址:https://www.cnblogs.com/cherious/p/6489040.html
Copyright © 2011-2022 走看看