初学python的第一道算法题——冒泡排序

本文分享了零基础学习者在Python编程中对冒泡排序的理解与实践过程。通过直观的气泡升序比喻,详细解析了冒泡排序算法的工作原理,并提供了具体的Python代码实现。适合Python初学者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小白一个,零基础学习python已有些时日,对于初学冒泡排序,在这里说说自己的一些感受及思考过程。

冒泡排序就个人而然,感受最直观的意思是气泡越大冒的越快,对应到列表中,那就是就是数字最大的先选出来,然后依次进行。例如 myList = [1,4,5,0,6],比较方式为:相邻的两个数字先进行比较,也就是myList[0]和myList[1],发现不是">"的关系,就继续比较myList[1]和myList[2]。。。依次进行,发现myList[2]>myList3,就进行交换,所以走完第一次全列表比较得到新列表[1,4,0,5,6],然后每一次扫描得到的新列表如下:

第一次:[1,4,0,5,6]

第二次:[1,0,4,5,6]

第三次:[0,1,4,5,6]

第四次:[1,4,5,0,6]
  
贴上代码:

def bubbleSort(myList):
#首先获取list的总长度,为之后的循环比较作准备
length = len(myList)

#一共进行几轮列表比较,一共是(length-1)轮
for i in range(0,length-1):
    
    #每一轮的比较,注意range的变化,这里需要进行length-1-长的比较,注意-i的意义(可以减少比较已经排好序的元素)
    for j in range(0,length-1-i):
        
        #交换
        if myList[j] > myList[j+1]:
            tmp = myList[j]
            myList[j]=myList[j+1]
            myList[j+1] = tmp
            
    #打印每一轮交换后的列表       
    for item in myList:
        print(item)
    print("=============================")

print("Bubble Sort: ")
myList = [1,4,5,0,6]
bubbleSort(myList)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值