【十大经典排序之冒泡排序】Python3

Python冒泡排序算法

冒泡排序(Bubble Sort)是一种很直观的排序算法,它每次从小到大或者从大到小的遍历整个序列的时候,将两个元素进行比较,如果排列顺序错误,就将它们的位置交换过来,直到最后整个序列不再需要交换位置,就宣告排列完成。冒泡排序对于N个项目需要O(n*2)的比较次数,虽然这个算法可以很简单且直观的实现排序算法,但是,对于包含大量元素的数列排序的效率很低。
这个算法最大的价值就是,它能够遍历链表中的所有元素,这样就可以做到很多算法没办法做到的事情。
冒泡排序
** 话不多说直接pia代码:**

nums = [2,232,324,54,627,8,9,842,42,4241]
count = 0
for i in range(len(nums)-1): #这个循环主要负责设置冒泡排序进行的次数;
    flag = False   #设置一个交换标志位,检测计算机有没有偷懒;
    for j in range(len(nums)-i-1):#这里的j就是控制每一次具体冒泡的过程,如果有十个数,只需要进行九次冒泡就行了,最后一次的时候已经排好序了就少排序一次所以减一;
        if nums[j] > nums[j+1]:
            nums[j],nums[j+1] = nums[j+1],nums[j]
            flag = True
    count += 1
    if not flag:
        return nums   #返回nums表示计算机偷懒了;
print(nums) 
print(count)    #这里表示计算机没有偷懒;

冒泡排序相对来说比较好理解的,下一篇进行选择排序算法。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值