problem description\nwrite a python program to sort a list by using insertion sort.

problem description\nwrite a python program to sort a list by using insertion sort.
Answer
Explanation:
Step1: 定义插入排序函数
定义一个名为insertion_sort的函数,接收一个列表arr作为参数。
def insertion_sort(arr):
Step2: 遍历列表元素
从列表的第二个元素(索引为1)开始遍历,因为第一个元素本身就是一个有序的子列表。
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
Step3: 移动元素并插入
将当前元素key与已排序子列表中的元素比较,若key小于已排序元素,则将已排序元素后移,直到找到合适的插入位置,然后将key插入。
while j >= 0 and arr[j] > key:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
return arr
Step4: 测试程序
创建一个测试列表,调用insertion_sort函数并输出结果。
if __name__ == "__main__":
test_list = [5, 2, 4, 6, 1, 3]
sorted_list = insertion_sort(test_list)
print(sorted_list)
Answer:
以下是使用插入排序对列表进行排序的Python程序:
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and arr[j] > key:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
return arr
if __name__ == "__main__":
test_list = [5, 2, 4, 6, 1, 3]
sorted_list = insertion_sort(test_list)
print(sorted_list)
该程序首先定义了insertion_sort函数实现插入排序的逻辑,然后在主程序中创建测试列表并调用该函数进行排序和输出。