0
点赞
收藏
分享

微信扫一扫

蓝桥杯python:排序

吓死我了_1799 2022-01-04 阅读 70

题目:在这里插入图片描述
程序说明:
因为冒泡排序每次交换都是只交换相邻两个元素,因此现在假设序列长度为n且每一个数都得往后进行交换,第一个数向后进行交换的次数为n-1,第二个数为n-2,第三个数为n-3…最后总次数为:(n-1)+(n-2)+(n-3)+…(n-n+1)=[1+(n-1)] *(n-1)/2=n *(n-1)/2。因此当n等于14时,总次数为91,n等于15时,总次数为105次,因此若要总次数为100次,那可将n长度设为15,只须将第六位数移到第一位即可。因此字符串为jonmlkihgfedcba
全部代码:

def bubble_sort(li,num):
    for i in range(len(li)-1):             #第i趟排序
        for j in range(len(li)-i-1):
            if li[j]>li[j+1]:                 #升序,若要降序排序将大于号改为小于号即可
                li[j],li[j+1]=li[j+1],li[j]
                num+=1
    return num

print(bubble_sort(list('jonmlkihgfedcba'),0))

>>>100
举报

相关推荐

0 条评论