• 简单选择排序与直接插入排序


     1         /// <summary>
     2         /// 直接插入排序
     3         /// </summary>
     4         /// <param name="data"></param>
     5         static void IsortCR(int[] data)
     6         { 
     7             for (int i = 1; i < data.Length; i++)
     8             {
     9                 bool isin = false;
    10                 int mid = data[i];//取到基准数
    11                 for (int j = i - 1; j >= 0; j--)
    12                 {
    13                     if (data[j] > mid)
    14                     {
    15                         data[j + 1] = data[j];//如果比基准数大就往后推
    16                     }
    17                     else
    18                     {
    19                         data[j + 1] = mid;//如果小于等于基准数,就把基准数插在这个数后面
    20                         isin = true;
    21                         break;//插入之后跳出循环
    22                     }
    23                 }
    24                 if (isin == false)
    25                 {
    26                     data[0] = mid;//如果基准数没有被插入过,说明最小,放在0位置
    27                 }
    28             }
    29 
    30         }
    31         /// <summary>
    32         /// 简单选择排序
    33         /// </summary>
    34         /// <param name="data"></param>
    35         static void IsortJD(int[] data)
    36         {
    37             for (int i = 0; i < data.Length - 1; i++)
    38             {
    39                 int min = data[i];//获取基准数作为最小值
    40                 int minIndex = i;//获取基准数所在的索引
    41                 for (int j = i + 1; j < data.Length; j++)
    42                 {
    43                     if (data[j] < min)
    44                     {
    45                         min = data[j];//取到所循环数的最小值
    46                         minIndex = j;//取得最小值的索引
    47                     }
    48                 }
    49                 if (minIndex != i)
    50                 {
    51                     int mid = data[i];
    52                     data[i] = min;
    53                     data[minIndex] = mid;//将最小值与基准数换位置
    54                 }
    55             }
    56         }
  • 相关阅读:
    word设置的密码忘了怎么办?
    Navicat Report Viewer 设置 HTTP 的方法
    如何处理Navicat Report Viewer 报表
    excel密码忘记了怎么办
    Beyond Compare文本比较搜索功能详解
    Popular Cows POJ
    Problem B. Harvest of Apples HDU
    网络流模型整理
    The Shortest Statement CodeForces
    Vasya and Multisets CodeForces
  • 原文地址:https://www.cnblogs.com/mazhijie/p/8410513.html
Copyright © 2020-2023  润新知