目录
前言
非常经典的排序方法之一,接下来我来用python简绍一下冒泡排序
提示:以下是本篇文章正文内容,下面案例可供参考
以升序为例
一、原理
1,有一个ls=[5,7,3,4,6]这个列表
2,首先5和7进行对比,5比7小,所以位置不变
3,然后7又与3对比,7比3大,所以交换位置
4,同样道理与4比,比4大交换位置,与6比,比6大交换位置,7到最后没有数与它比较,所以7固定到最后一个位置,第一层循环的第一次结束,接下来开始第二次循环
5,在然后5与3比,比3大,交换位置
6.所以以此类推最后得到一个排序好了的列表
二、使用步骤
1.代码展示
import random # 生成随机数
def func(lis):
for i in range(len(lis) - 1): # (第一层循环) 因为最后一个不需要进行排序,循环到最后就只会剩下来一个,不需要排序
for j in range(len(lis) - i - 1): # (第二层循环) 每进行一次第一层进行循环都会有一个数排序到了一个固定的位置,所以第二层循环就可以不用遍历代到这个数满足n-i-1
if lis[j] > lis[j + 1]: # 满足前一个数大于后一个数(这个是从小到大排序,如果想要排序结果相反改成小于)
lis[j], lis[j + 1] = lis[j + 1], lis[j] # 前后交换位置
lis = [random.randint(0, 1000) for i in range(0, 1000)] # 生成1000随机大小的随机数
print(lis) # 打印原列表
func(lis)
print(lis) # 打印排序后的列表
总结
以上就是今天要讲的内容,有任何疑问或还想知道其他算法都可以私信或留言