• 希尔排序(C#数据结构学习八)


    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace SoloDataStructure
    {
        
    class MyShellSort
        
    {
              
    /// <summary>
              
    /// 希尔排序
              
    /// </summary>
              
    /// <param name="arr">需要排序的数列</param>

           static  void ShellSort (int[] arr)
             
    {
                 
    int temp; //
                 int n = arr.Length;
                 
    int gap = n / 2//初始步长
                 while (gap != 0)
                 
    {
                     
    for (int i = gap; i < arr.Length; i++)
                     
    {
                         
    int j;
                         temp
    =arr[i];
                         
    for (j = i; j >= gap; j = j - gap)  //同子序列的插入排序
                         {
                             
    if (temp < arr[j - gap])
                                 arr[j] 
    = arr[j - gap]; //如果后面的小于前面的,交换位置
                             else
                                 
    break;
                         }

                             arr[j] 
    = temp;            //插入      
                     }

                         gap 
    /= 2//缩短步长
                 }


             }
                
            
    static void Main(string[] args)
            
    {
        
                
    int[] arr = new int[] 99,198,97,96,905,44,93,2,91};
                Console.Write(
    "希尔排序前:");
                
    for (int i = 0; i < arr.Length; i++)
                    Console.Write(arr[i] 
    + ".");
                ShellSort(arr);
                Console.Write(
    "\n希尔排序后:");
                
    for (int i = 0; i < arr.Length; i++)
                    Console.Write(arr[i]
    +".");
                 
                Console.ReadLine();
            }

        }

    }
  • 相关阅读:
    解题:NOI 2007 社交网络
    解题:2018九省联考 一双木棋
    125. 背包问题 II
    152. 组合
    140. 快速幂
    148. 颜色分类
    144. 交错正负数
    83. 落单的数 II
    124. 最长连续序列
    59. 最接近的三数之和
  • 原文地址:https://www.cnblogs.com/solo/p/609674.html
Copyright © 2020-2023  润新知