零基础学python 15 经典算法:冒泡排序法(课后习题)

avatar 2017年5月1日20:06:33 评论 2,234

加入VIP,可以享受无广告视频播放!更可享受教程提前看!详情猛戳:VIP介绍

今天是我们一年一度的“五一劳动节”,首先我代表“雪山凌狐教程”的所有同仁,跟广大的劳动者说一声:你们辛苦了!

节日归节日,学习永无止境。这节课我们来就上节课学到的经典算法——冒泡排序法来做一点练习题。

上节课我们学习的冒泡排序法,是让我们的list从小到大进行排列,这次我们的任务是,请对冒泡排序法进行一定的修改,加一个参数,让它能够按照我们的定义需要进行从大到小或者从小到大的排序。返回这个排序后的list。

下面是我们需要实现的一些例子,从例子中你可以了解到第二个参数的一些定义规则。假定输入的参数没有错误等问题。

函数调用命令 返回值
bubbleSort([37,87,12,3,0],1) [0, 3, 12, 37, 87]
bubbleSort([7,8,123,33,1],2) [123, 33, 8, 7, 1]
bubbleSort([3411,5,32,57,521],1) [5, 32, 57, 521, 3411]

下面是题目py代码,请复制到你的py文件后再编写:

def bubbleSort(nums):
    # 请修改代码成题目要求的样子
    for i in range(len(nums)-1):    # 这个循环负责设置冒泡排序进行的次数
        for j in range(len(nums)-i-1):  # j为列表下标
            if nums[j] > nums[j+1]:
                nums[j], nums[j+1] = nums[j+1], nums[j]
    return nums

# 测试代码
print("testing bubbleSort for ([37,87,12,3,0],1) result:" + str(bubbleSort([37,87,12,3,0],1)))
print("testing bubbleSort for ([7,8,123,33,1],2) result:" + str(bubbleSort([7,8,123,33,1],2)))
print("testing bubbleSort for ([3411,5,32,57,521],1) result:" + str(bubbleSort([3411,5,32,57,521],1)))

 

本期参考答案:

零基础学python 15 经典算法:冒泡排序法(课后习题答案)

 

感谢大家的收看,我们下期再见!

avatar

发表评论

您必须才能发表评论!