码迷,mamicode.com
首页 > 编程语言 > 详细

冒泡排序

时间:2015-05-21 18:48:50      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!