Sorting a list

本文最后更新于:2025年10月14日 晚上

选择排序

动图解析

算法步骤

首先在未排序序列中找到最小元素,存放到排序序列的起始位置。

再从剩余未排序元素中继续寻找最小元素,然后放到已排序序列的末尾。

重复第二步,直到所有元素均排序完毕

代码实现(By Lecture)

1
2
3
4
5
6
7
8
9
10
11
12
def selection_sort(given_list, length):
i = 0
while i != length:
j = i
min_index = i
while j != length :
if given_list[j] < given_list[min_index]:
min_index = j
j = j +1
swap(given_list, i, min_index)
i = i + 1
return given_list

插入排序

动图解析

InsertionSort

算法步骤

将元素分为 已排序未排序 两组

扫描未排序数组,将其插入已排序数组的正确位置

代码实现(By lecture)

1
2
3
4
5
6
7
8
9
def insertion_sort(given_list, length):
i = 0
while i != length:
j = i
while j != 0 and given_list[j-1] > given_list[j]:
swap(given_list, j, j-1)
j = j - 1
i = i + 1
return given_list