“自用“Python学习__Day4

排序算法

1.冒泡排序

def maopao():
    a = [23, 4, 4446, 7, 23, 2]
    b = len(a)
    for j in range(0, b):
        for i in range(0, b - 1):
            if a[i] < a[i + 1]:
                temp = a[i]
                a[i] = a[i + 1]
                a[i + 1] = temp
    print(a)
    return a

maopao()

运行结果

[4446, 23, 23, 7, 4, 2]

2.直接选择排序

a = [23, 4, 4446, 7, 23, 2]
min111 = min(a)
max111 = max(a)

print(min111)
print(max111)


# 非正统,用新数组存
def choise():
    list = [4, 5, 3, 7, 89, 2, 0]
    b = len(list)
    templist = []
    for i in range(0, b):  #若要在range()的括号中写变量,变量应为b=len(a)
        minium = min(list)
        templist.append(minium)
        list.remove(minium)
    print(templist)
    return templist

choise()

list = [4, 5, 3, 7, 89, 2, 0]
print(len(list))


#直接选择
def xuanze():
 a = [2,36,8,2994,1,45]
 b =[]
 c = len(a)
 for i in range(0,c):
        b = []
        d = min(a)
        b.append(d)
        a.remove(d)
 print(b)
 return b
xuanze()

运行结果

2
4446
[0, 2, 3, 4, 5, 7, 89]
7
[2994]

3.直接插入排序

def charu():
    a = [3,6,4,7,12,2]
    c = len(a)
    for i in range(1,c):
        k = a[i]
        j = i-1
        while j>=0:
            if a[j] >k:
                a[j+1] = a[j]
                a[j] = k
            j -= 1
    print(a)
    return a

if __name__ == '__main__':
 h = charu()
 print(h)

运行结果

[2, 3, 4, 6, 7, 12]
[2, 3, 4, 6, 7, 12]

4.快速排序
百度比资源丰富()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值