python用列表实现插入排序算法
时间: 2024-02-03 21:02:54 浏览: 66
python 实现插入排序算法
以下是python代码实现插入排序算法:
```
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and key < arr[j]:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
return arr
```
该算法的基本思想是将未排序的元素依次插入已排序的部分中。在每次循环中,将当前元素与已排序部分的元素进行比较,找到它在已排序部分中应该插入的位置,然后将已排序部分中的元素依次后移,并将当前元素插入到正确的位置。
使用上述代码可以对列表进行插入排序,例如:
```
arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_arr = insertion_sort(arr)
print(sorted_arr)
```
以上代码将输出已排序的列表:
```
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```
阅读全文