1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62


# 冒泡排序
# nums = [8,9,7,6,5,4,3,2,1]

'''
算法:
[8,9,7,6,5,4,3,2,1]

第1次 [8,7,6,5,4,3,2,1, 9]
第2次 [7,6,5,4,3,2,1, 8,9]
第3次 [6,5,4,3,2,1, 7,8,9]
第4次 [5,4,3,2,1, 6,7,8,9]
第5次 [4,3,2,1, 5,6,7,8,9]
第6次 [3,2,1, 4,5,6,7,8,9]
第7次 [2,1, 3,4,5,6,7,8,9]
第8次 [1, 2,3,4,5,6,7,8,9]

'''

nums = [8,9,7,6,5,4,3,2,1]

for i in range(len(nums)-1): # i=0,1,2,3,4,5,6,7

for j in range(len(nums)-1-i):

if nums[j] > nums[j+1]:
nums[j], nums[j+1] = nums[j+1], nums[j]

print(nums)


# 选择排序
'''
[8,9,7,6,5,4,3,2,1]
第1次 [1, 9,7,6,5,4,3,2,8]
第2次 [1,2, 7,6,5,4,3,9,8]
第3次 [1,2,3, 6,5,4,7,9,8]
第4次 [1,2,3,4, 5,6,7,9,8]
第5次 [1,2,3,4,5, 6,7,9,8]
第6次 [1,2,3,4,5,6, 7,9,8]
第7次 [1,2,3,4,5,6,7, 9,8]
第8次 [1,2,3,4,5,6,7,8, 9]

'''

nums = [8,9,7,6,5,4,3,2,1]
for i in range(len(nums)-1): # i=0,1,2,3,4,5,6,7

# 遍历剩下的数,找到最小值
min_index = i
for j in range(i, len(nums)):
if nums[j] < nums[min_index]:
min_index = j

# 交换最小数和剩下数中的第一个
nums[i], nums[min_index] = nums[min_index], nums[i]

print(nums)