打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
冒泡排序法的原理与举例

冒泡排序法是一种排序算法,如将int[ ] numbers={ 1,5,3,6,4,9,8,0,7,2}数组内的元素按升序排序

算法原理:将前后每两个数进行比较,较大的数往后排,一轮下来最大的数就排到最后去了。然后再进行第二轮比较,第二大的数也排到倒数第二了,以此类推:

第一轮比较:

第一次比较:1,5,3,6,4,9,8,0,7,2第一个数不大于第二个数,不调换位置

第二次比较:1,3,5,6,4,9,8,0,7,2第二个数大于第三个数,调换位置

第三次比较:1,3,5,6,4,9,8,0,7,2个数不大于第个数,不调换位置

次比较:1,3,546,9,8,0,7,2 第四个数大于第五个数,调换位置

。。。。。以此类推

第九次比较:1,3,5,4,6,8,0,7,2,9第九个数大于第十个数,调换位置

上面就进行完了第一轮比较将最大的一个数字排到了最后面。比较次数9次

第二轮比较:

跟第一轮比较一样,但我们可以发现,最后一个数字我们不需要比较,因为那是最大的数

比较次数8次

第三轮比较:

比较次数7次

第九轮比较:

比较次数1次

从上面的分析我们可以看出我们排10个数需要比较九轮,每一轮比较由9次递减到1次

代码:

  1. //定义一个数组  
  2.             int[] numbers = { 1, 5, 3, 6, 4, 9, 8, 0, 7, 2 };  
  3.             //升序排序  
  4.             for (int i = 0; i < numbers .Length-1 ; i++)  
  5.             {  
  6.                 for (int j = 0; j < numbers.Length-1-i; j++)  
  7.                 {  
  8.                     if (numbers [j]>numbers [j+1])  
  9.                     {  
  10.                         int temp = numbers[j];  
  11.                         numbers[j] = numbers[j + 1];  
  12.                         numbers[j + 1] = temp;  
  13.                     }  
  14.                 }  
  15.             }  
  16.             //输出排序后数组  
  17.             for (int i = 0; i < numbers.Length; i++)  
  18.             {  
  19.                 Console.Write(numbers[i] + "\t");  
  20.             }  
  21.             Console.ReadKey();  

这样就排序完了。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Java基础(冒泡排序)
Java|实现冒泡排序
冒泡排序的原理,思路,以及算法分析(Java实现)
各种常见排序算法大汇总
Java中的经典算法之冒泡排序(Bubble Sort)
Java学习路线分享冒泡排序及优化
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服