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

数组中的冒泡排序

时间:2016-07-31 01:35:50      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

 

9 8 7 6 5 4 3 2 1 0   

8 7 6 5 4 3 2 1 0 9 ====>1i=0 交换9arr.length-1-i

7 6 5 4 3 2 1 0 8 9 ====>2i=1 交换8arr.length-1-i

6 5 4 3 2 1 0 7 8 9 ====>3i=2 交换7arr.length-1-i

5 4 3 2 1 0 6 7 8 9 ====>4i=3 交换6arr.length-1-i

4 3 2 1 0 5 6 7 8 9 ====>5i=4 交换5arr.length-1-i

3 2 1 0 4 5 6 7 8 9 ====>6i=5 交换4arr.length-1-i

2 1 0 3 4 5 6 7 8 9 ====>7i=6 交换3arr.length-1-i

1 0 2 3 4 5 6 7 8 9 ====>8i=7 交换2arr.length-1-i

0 1 2 3 4 5 6 7 8 9====>9i=8 交换1arr.length-1-i

 过程:

i 是外层循环的趟数  第1(i=0)  一共循环了9趟,所以ilength-1

j 是里层循环比较的次数,把第一个数和后面数依次比较,10个数的两两比较只要比较9次 ,所以j也是lenght-1

观察可以发现,每趟的9次比较中,交换的次数是依次减少的(两两交换的次数:交换9次,8次,7..),为了提高效率,可以把里层循环简化为 arr.length-1-i 

数组中的冒泡排序

标签:

原文地址:http://www.cnblogs.com/yuluo2016/p/5722198.html

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