python列表选择排序
时间: 2024-12-10 11:19:30 浏览: 8
Python列表选择排序(Selection Sort)是一种简单直观的排序算法,它的工作原理是每次从未排序的部分中找到最小(或最大)元素,然后将其放到已排序部分的末尾。这是一种交换排序法,整个过程可以分为两个阶段:
1. **查找**:遍历未排序部分,找到最小值的位置。
2. **交换**:将找到的最小值与未排序部分的第一个元素交换位置。
这个过程会一直重复,直到所有元素都被放置到正确的位置,即已排序部分的长度等于原数组长度。由于它每次只移动一个元素,所以时间复杂度为O(n^2),效率相对较低,适合小型数据集或教学演示。
以下是选择排序的一个简单的Python实现示例:
```python
def selection_sort(lst):
for i in range(len(lst)):
# 找到剩余部分的最小元素
min_index = i
for j in range(i+1, len(lst)):
if lst[j] < lst[min_index]:
min_index = j
# 将找到的最小元素放在正确的位置
lst[i], lst[min_index] = lst[min_index], lst[i]
return lst
# 示例
unsorted_list = [5, 2, 8, 4, 9]
sorted_list = selection_sort(unsorted_list)
print(sorted_list) # 输出:[2, 4, 5, 8, 9]
阅读全文