基础算法

1.选择排序

1
2
3
4
5
6
7
8
score = [71,84,87,98,84,81,85,69,80]
count = len(score)

for i in range(count):
for j in range(i + 1,count):
if score[j] < score[i]:
score[i],score[j] = score[j],score[i]
print ("选择排序后:", score)

2.冒泡排序

1
2
3
4
5
6
7
8
score = [71,84,87,98,84,81,85,69,80]
count = len(score)

for i in range(count):
for j in range(count-1-i): #选出当前数组最大后,下次就不用遍历最大的那位
if score[j] > score[j + 1] :
score[j],score[j + 1] = score[j + 1],score[j]
print ("冒泡排序后:", score)

3.直插排序

1
2
3
4
5
6
7
8
9
10
score = [71,84,87,98,84,81,85,69,80]
count = len(score)
for i in range (1,count):
j = i - 1
key = score[i]
while (j >= 0 and score[j] > key): # 把第i位的值,比大小的方式插到前j位的数组里
score[j + 1] = score[j];
score[j] = key
j -= 1
print ("直插排序后:", score)