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
|
要排序的数组 :[5,8,7,2,1]
i = 1
参照值 = 8
index = 0
不满足5>8的条件,直接关闭循环
结果: 5,8,7,2,1
i = 2
参照值 = 7
index = 1
目标元素 = 8
结果:5,8,8,2,1 // 这一步看懂了吗? 把目标元素向后移动一位,实际上就是把他的值赋值到他的后一位上
index = 0
目标元素= 5
0>=0 但是 5<8
关闭循环,把参照值 7 插入到目标元素的后一位
结果:5,7,8,2,1
i = 3
参照值 = 2
index = 2
目标元素= 8
满足2>=0 && 8>2
结果: 5,7,8,8,1
index = 1
目标元素 = 7
满足1>=0 && 7>2
结果: 5,7,7,8,1
index = 0
目标元素 = 5
满足0>=0 && 5>2
结果: 5,5,7,8,1
循环结束,把参照值 2 插入到目标元素的后一位
结果: 2,5,7,8,1
i = 4
参照值 = 1
index = 3
目标元素 = 8
满足3>=0 && 8>1
结果: 2,5,7,8,8
index = 2
目标元素 = 7
满足2>=0 && 7>1
结果: 2,5,7,7,8
index = 1
目标元素 = 5
满足3>=0 && 8>1
结果: 2,5,5,7,8
index = 0
目标元素 = 2
满足0>=0 && 2>1
结果: 2,2,5,7,8
循环结束,把参照值 1 插入到目标元素的后一位
结果: 1,2,5,7,8
|