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


     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         }
  • 相关阅读:
    第二周进度条博客
    软件工程个人作业01
    动手动脑1
    构建之法阅读笔记06
    构建之法阅读笔记05
    构建之法阅读笔记04
    poj 1631 LIS
    poj 1609 dp
    lightoj 1198 最大权重匹配
    hdu4696 想法题
  • 原文地址:https://www.cnblogs.com/mazhijie/p/8410513.html
Copyright © 2020-2023  润新知