冒泡排序[python]

 冒泡排序概念

冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历待排序的元素列表,比较相邻的两个元素,并按照顺序交换它们,直到整个列表排序完成。

冒泡排序的基本思想是:通过不断交换相邻元素的位置,将最大(或最小)的元素逐渐移动到列表的末尾。具体步骤如下:

1. 从列表的第一个元素开始,依次比较相邻的两个元素。
2. 如果前一个元素大于后一个元素,则交换它们的位置,使得较大的元素向后移动。
3. 继续对列表中的每一对相邻元素进行比较和交换,直到遍历到列表的倒数第二个元素。
4. 重复执行步骤 1~3,直到列表中的所有元素都排序完成。

 


# 冒泡排序就是把最大的(最小的) 依次移动到最后
# 比较大小,如果是不满足顺序要求,则交换,如果满足顺序要求则不交换
# 从小到大
arr = [5, 4, 1, 3, 2]

# 第一次交换 arr=[4,1,3,2,5]
for i in range(len(arr) - 1):
    if arr[i] > arr[i + 1]:
        temp = arr[i]
        arr[i] = arr[i + 1]
        arr[i + 1] = temp

print(arr) # [4, 1, 3, 2, 5]

# 第二次交换
for i in range(len(arr)-1-1):
    if arr[i] > arr[i + 1]:
        temp = arr[i]
        arr[i] = arr[i + 1]
        arr[i + 1] = temp

print(arr) #[1, 3, 2, 4, 5]

# .....以此类推
# 外层,重复次数
# 冒泡排序
# 0-4 0,1,2,3 4次
for i in range(len(arr) - 1):
    for j in range(len(arr) - 1 - i):
        if arr[j] > arr[j + 1]:
            temp = arr[j]
            arr[j] = arr[j + 1]
            arr[j + 1] = temp

print(arr)

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值