冒泡排序法解析

Posted 算法与编程之美

tags:

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

0 引言

到目前来看,部分的同学依然无法理解冒泡排序的原理是什么,我希望我的解释能让同学们有一定的了解。

1 问题

不用函数的条件下,对一窜数字进行排序。

2 方法

解决这个问题,先看这个例子,nums=[3,2,1],在第一趟第一次3和2交换,第一趟第二次3和1交换,得到[2,1,3],第二趟第一次2和1交换得到[1,2,3]。可见关系趟数时len(nums-1),次数是len(nums-1-i)。如图

3 实验结果与讨论

代码清单 1

nums=[5,4,3,2,1]
a=nums[0]
for i in range(len(nums)-1):
   for j in range(len(nums)-1-i):
       if nums[j]>nums[j+1]:
           a=nums[j]
           nums[j]=nums[j+1]
           nums[j+1]=a
print(nums)

4 结语

上面的冒泡排序的解释到此结束,我希望利用举例子的方法同学们能够看得懂,对该方法能够有更多的了解。

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

冒泡排序法解析

三大基础排序算法(冒泡排序,选择排序,插入排序)

简单排序算法:冒泡法排序(Java)

冒泡排序法

冒泡排序二分查找法

算法大神之路----排序(冒泡排序法)