疯狂Python讲义Unit5Test

#!/usr/bin/python3

# Test1.定义一个函数,该函数可接收一个list作为参数,该函数使用直接选择排序对list排序
# 直接排序:重复的访问序列(len-1)次,每次选出一个最小或者最大的数字并放在截取序列的首位(与首位的值做比较),数列的访问比较范围依次减少:每次从i遍历到到len-1(i累加)
def pureSort(list):
    lens=len(list)
    for i in range(lens-1):
        minPos=i # 此时的i为当前访问序列的首位,即本轮需要选出最小的数字
        for j in range(i,lens-1): #从当前i遍历到lens-1(下面j+1相当于遍历到lens),每次和minPos比较序列的值,若小于minPos,则交换索引
            if list[j+1]<list[minPos]:
                minPos=j+1
        list[minPos],list[i]=list[i],list[minPos] # 每轮比较结束交换最小值
list1=[99,2,1,3,4,10,5,9,7]
pureSort(list1)
print(list1)
# Test2.定义一个函数,该函数可接收一个list作为参数,该函数使用冒泡排序对list排序
# 冒泡排序:重复的走访序列(len-1)次,依次比较两个相邻元素的大小(len-i-1),如果顺序错误就将他们调换过来。i为走访轮数
k=0
def bubbleSort(list):
    length=len(list)
    global k
    for i in range(length-1):
        for j in range(length-i-1):
            k=k+1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值