每天一道算法题之冒泡排序

'''用python实现冒泡排序'''


'''步骤一先实现最内层找出最大值的方式'''
ls = [99,70, 33, 2,80,64, 55, 9, 13]  # 定义一个随机的列表

def findMax(ls):
    '''第一次寻找最大的数值'''

    ls_len = len(ls)
    for i in range(ls_len-1):
        if ls[i] > ls[i+1]:
            ls[i+1], ls[i] = ls[i], ls[i+1]



findMax(ls)

print(ls)


'''步骤二在步骤一的基础上进行多次循环计算,指导计算结束为止'''
# import random
#
# ls1 = [random.randrange(1,1000) for i in range(10)]
#
# print(ls1)

ls2 = [209, 975, 97, 260, 85, 769, 497, 791, 208, 102]


def maopao(ls):
    '''冒泡排序的完整步骤'''
    ls_len = len(ls)

    for k in range(ls_len):

        for i in range(ls_len -1-k):
            if ls[i] > ls[i + 1]:
                ls[i + 1], ls[i] = ls[i], ls[i + 1]



maopao(ls2)

print(ls2)

相关推荐