zoukankan      html  css  js  c++  java
  • 冒泡排序

    解释:它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。

    代码:

     1 static void Bubblesort2A(int[] a, int n)
     2         {
     3             int s = 0,t=0;
     4             bool sorted = false;
     5             while (!sorted)
     6             {
     7                 sorted = true;
     8                 for (int i = 1; i < n; i++)
     9                 {
    10                     if (a[i - 1] > a[i])
    11                     {
    12                         t = a[i];
    13                         a[i] = a[i - 1];
    14                         a[i - 1] = t;
    15                         sorted = false;
    16                     }
    17                     s += 1;
    18                 }
    19                 n--;
    20             }
    21             foreach (var item in a)
    22             {
    23                 Console.WriteLine(item);
    24             }
    25             Console.WriteLine(s);
    26         }

    理解:每次循环交换大小顺序,后一个和前一个比较,这样子每次循环完后面大的数字已经是正常的排序了,下次排序次数就可以减一,直至没有需要排序的数据了。

    时间复杂度:

  • 相关阅读:
    凸包模板
    1060E Sergey and Subway(思维题,dfs)
    1060D Social Circles(贪心)
    D
    牛客国庆集训派对Day2
    网络流
    Tarjan算法(缩点)
    莫队分块算法
    计算几何
    hdu5943素数间隙与二分匹配
  • 原文地址:https://www.cnblogs.com/dx5800/p/13193058.html
Copyright © 2011-2022 走看看