python选择排序使用for循环
时间: 2024-08-16 20:08:20 浏览: 49
Python的选择排序算法通常使用嵌套的`for`循环结构来实现。选择排序的工作原理是每一次遍历找到剩余部分中的最小元素,然后将其放到已排序序列的末尾。以下是简单的选择排序过程:
1. 首先,假设有一个待排序的列表`lst`。
2. 使用外部`for`循环控制遍历的轮数,外层循环会遍历从0到`len(lst) - 2`的索引。
3. 内部`for`循环在这个范围内查找当前未排序部分的最小值。它从当前索引开始,比较并记录下标处的元素与其他元素。
4. 当内部循环结束时,找到了未排序部分的最小值,将这个元素与外部循环的当前索引所对应的元素交换位置。
5. 外部循环结束后,第一个最大的元素已经排好序了。接着重复以上步骤,直到整个列表有序。
以下是选择排序的一个简单示例代码:
```python
def selection_sort(lst):
n = len(lst)
for i in range(n):
# 找到未排序部分的最小值的索引
min_index = i
for j in range(i+1, n):
if lst[j] < lst[min_index]:
min_index = j
# 将找到的最小值与当前位置交换
lst[i], lst[min_index] = lst[min_index], lst[i]
return lst
# 示例
unsorted_list = [64, 25, 12, 22, 11]
sorted_list = selection_sort(unsorted_list)
print(sorted_list) # 输出:[11, 12, 22, 25, 64]
```
阅读全文