蓝桥杯-零基础python刷题之路-字符串冒泡排序(包含各个知识点详细记录)

题中提到冒泡排序,先搞定一下冒泡排序,在找出题目中所需字符串,

a.冒泡排序

如字符串 qiao ,如果是冒泡排序,需要如下操作:

1.iqao

2.iaqo

3.iaoq

4.aioq

冒泡排序走一遍数组,每次将两个字符进行比较,将大的放在后面。等到全部遍历完成后,最大的元素被冒泡到最后。

第二遍遍历时,遍历的数组比上一次长度少一(不包含是第一步中的最大值,已经最大无需遍历)

遍历到最后两个后,完成了冒泡排序。

参考代码:

str1='qiao'
lis=list(str1)
str2=[]
for i in range(len(str1)-1,-1,-1):
    for j in range(i):
        if ord(lis[j])>ord(lis[j+1]):
            lis[j+1],lis[j]=lis[j],lis[j+1]
           # print(lis)
            print(''.join(lis))

注意:字符串只读不写,不能直接对字符串元素进行操作,所以要转换成列表进行操作。

b.记录次数

 此时能显示冒泡排序所用次数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值