算法排序——冒泡

目录

前言

一、原理

二、使用步骤

1.代码展示

总结


前言

非常经典的排序方法之一,接下来我来用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)  # 打印排序后的列表


总结


以上就是今天要讲的内容,有任何疑问或还想知道其他算法都可以私信或留言

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值