题中提到冒泡排序,先搞定一下冒泡排序,在找出题目中所需字符串,
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.记录次数
此时能显示冒泡排序所用次数