Python 中的冒泡排序和解释 - 教程。
冒泡排序是您比较相邻值并相应地交换它的地方。这种排序算法有一些应用,其中一些是对数据库中的数据进行排序,例如:按价格对亚马逊产品进行排序。
对该算法的简单分解,您首先从列表中的值开始 [5、2、4、3、1]
.第一步是去第一个值 [5]
并检查它是否小于或大于下一个 [2]
它是,所以算法交换它们- [2、5、4、3、1]
.算法重复这些步骤,然后在第一个循环结束时,它看起来像这样 [2、4、3、1、5]。
算法重复这个,最后你会得到你的 soted 列表 [1、2、3、4、5]
.话虽如此,让我们开始编码!
第一步是声明我们的变量
数字 = [5, 2, 4, 3, 1]
循环=真
数字1 = 0
数字2 = 0
地点 = 0
然后我们开始主循环
while 循环 == 真:
如果 nums[place] > nums[place+1]:
num1 = nums[地点]
num2 = nums[位置+1]
nums[地点] = num2
数字 [地点+1] = 数字 1 如果位置 < 3:
地点+=1
别的:
地点=0
让我们从创建一个常数循环开始。然后我们开始我们的主要算法, 如果 nums[place] > nums[place+1]:
这是检查我们是否需要交换值。以下代码交换当前位置的值和该位置之后的值 地点 + 1
.
然后我们检查这个地方是否在列表的末尾,如果不是,我们增加这个地方。如果它在列表的末尾,我们会将位置设置回开始。最后,我们需要添加一种方法来检查程序是否对列表进行了排序。
进度 = 0
x = 0 对于 y in nums:
x += 1 如果 x == 5:
休息 如果 y <= nums[x]:
进度 += 1 如果进度 == 3:
循环 = 假
是时候解释一下了,这段代码非常混乱,但它基本上是循环遍历值列表并检查当前值是否小于或等于下一个值,如果是进度增加的话。一旦我们遍历代码,我们检查进度是否一直到最后,我们知道列表是排序的。
这是最终代码:
数字 = [5, 2, 4, 3, 1]
循环=真
数字1 = 0
数字2 = 0
地点 = 0 while 循环 == 真:
如果 nums[place] > nums[place+1]:
num1 = nums[地点]
num2 = nums[位置+1]
nums[地点] = num2
数字 [地点+1] = 数字 1 如果位置 < 3:
地点+=1
别的:
地点=0 进度 = 0
x = 0 对于 y in nums:
x += 1 如果 x == 5:
休息 如果 y <= nums[x]:
进度 += 1 如果进度 == 4:
循环 = 假 打印(数字)
如果您在代码中发现任何错误或错误,请与我联系(是的,我知道有更有效的方法,但我想让它保持可读性)。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
本文链接:https://www.qanswer.top/12490/49330412
标签:教程,数字,nums,Python,地点,冒泡排序,列表,循环,place From: https://www.cnblogs.com/amboke/p/16654890.html