排序算法
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.快速排序
百度比资源丰富()