标签:
1.思想
同之前介绍的两种排序方式一样,冒泡排序也是最简单最基本的排序方法之一。冒泡排序的思想很简单,就是以此比较相邻的元素大小,将小的前移,大的后移,就像水中的气泡一样,最小的元素经过几次移动,会最终浮到水面上。
举例分析说明一下,如下数据:
2 7 4 6 9 1 首先比较最后两个数字,发现1比9小,于是前移
2 7 4 6 1 9 然后比较6和1
2 7 4 1 6 9 继续前移,然后是4和1
2 7 1 4 6 9 7和1比较
2 1 7 4 6 9 2和1
1 2 7 4 6 9 至此,第一趟冒泡过程完成,最小的元素1被移到第一个,不再参与后面的排序过程。下一趟冒泡过程同理,比较6和9,以此类推,最终得到结果。
2.C#实现
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 Int32[] numbers = new Int32[] { 2, 50, 5, 9, 6, 10, 45, 21, 4 }; 6 7 for (int i = 0; i < numbers.Length - 1; i++) 8 {
bool exchanged = false; 9 for (int j = numbers.Length - 1; j >= i + 1; j--) 10 { 11 if (numbers[j] < numbers[j - 1]) 12 { 13 int a = numbers[j]; 14 numbers[j] = numbers[j - 1]; 15 numbers[j - 1] = a;
exchanged = true; 16 } 17 } 18 //如果在一轮排序中未交换任何数据,则说明已经是排好序的,直接退出
if(!exchanged) break;
28 } 29 30 31 Console.ReadKey(); 32 } 33 }
标签:
原文地址:http://www.cnblogs.com/JustYong/p/4520206.html