冒泡排序

Posted dx5800

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序相关的知识,希望对你有一定的参考价值。

解释:它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从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         }

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

时间复杂度:技术图片

以上是关于冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

java冒泡排序法代码

python代码实现鸡尾酒排序(双向冒泡排序)

冒泡排序python代码

视频+图文+动画详解冒泡排序

交换排序(冒泡排序快速排序的算法思想及代码实现)

C语言冒泡排序。