zoukankan      html  css  js  c++  java
  • 排序算法C#代码

    冒泡排序

    算法原理:

    1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
    2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。
    3. 针对所有的元素重复以上的步骤,除了最后一个。
    4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
     1 static void Main(string[] args)
     2         {
     3             int[] arr = { 9, 22, 11, 5, 8, 2, 123, 65, 33 };
     4             for (int i = 0; i < arr.Length-1; i++)
     5             {
     6                 for (int j =0; j < arr.Length-1-i; j++)
     7                 {
     8                     if (arr[j] > arr[j+1])
     9                     {
    10                         int temp = arr[j];
    11                         arr[j] = arr[j+1];
    12                         arr[j+1] = temp;
    13                     }
    14                 }
    15             }
    16             foreach (var item in arr)
    17             {
    18                 Console.WriteLine(item);
    19             }
    20             Console.ReadKey();
    21         }
    View Code

    插入排序

    算法原理:

          每次处理就是将无序数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到有序数列的合适位置中。

     1  static void Main(string[] args)
     2         {
     3             for (int i = 1; i < arr.Length; i++)
     4             {
     5                 for (int j = i; j > 0; j--)
     6                 {
     7                     if (arr[j] > arr[j - 1])
     8                     {
     9                         int temp = arr[j];
    10                         arr[j] = arr[j - 1];
    11                         arr[j - 1] = temp;
    12                     }
    13                 }
    14             }
    15                    foreach (var item in arr)
    16             {
    17                 Console.WriteLine(item);
    18             }
    19                 Console.ReadKey();
    20         }
    View Code

    选择排序

    算法原理:

         每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。

     1  static void Main(string[] args)
     2         {
     3             int[] arr = { 9, 22, 11, 5, 8, 2, 123, 65, 33 };
     4             for (int i = 0; i < arr.Length - 1; i++)
     5             {
     6                 int lowerIndex = i;
     7                 for (int j = i + 1; j < arr.Length; j++)
     8                 {
     9                     if (arr[j] > arr[lowerIndex])
    10                     {
    11                         lowerIndex = j;
    12                     }
    13                 }
    14                 int temp = arr[i];
    15                 arr[i] = arr[lowerIndex];
    16                 arr[lowerIndex] = temp;
    17             }
    18             foreach (var item in arr)
    19             {
    20                 Console.WriteLine(item);
    21             }
    22                 Console.ReadKey();
    23         }
    View Code

    以上算法是对自己目前掌握的比较熟练的排序算法进行的总结,后续若掌握了其他的排序算法会及时发表总结,如有不正确的地方请及时指出。

  • 相关阅读:
    MVC架构引入smarty视图引擎
    视图引擎smarty之插件
    视图引擎smarty 三
    视图引擎smarty 二
    视图引擎smarty 一
    .Net 框架
    onkeyup="this.value=this.value.replace(/D/g,'')
    cookie
    click
    html页面内容替换
  • 原文地址:https://www.cnblogs.com/bxjt/p/6434563.html
Copyright © 2011-2022 走看看