python选择排序
时间: 2023-08-19 22:17:24 浏览: 83
选择排序(Selection Sort)是一种简单直观的排序算法,其基本思想是:每次从未排序的数列中选择最小(或最大)的数放在已排序数列的末尾,直到所有元素均排序完毕。
Python 实现选择排序的代码如下:
```python
def selection_sort(arr):
n = len(arr)
for i in range(n):
# 找到未排序部分中的最小值
min_index = i
for j in range(i+1, n):
if arr[j] < arr[min_index]:
min_index = j
# 将最小值交换到已排序部分的末尾
arr[i], arr[min_index] = arr[min_index], arr[i]
return arr
```
该函数的参数 `arr` 是待排序的列表,函数的返回值是已排序的列表。在函数中,我们首先获取待排序列表的长度 `n`,然后使用双重循环,每次找到未排序部分中的最小值,将其与已排序部分的末尾交换位置。这样,经过 `n` 次循环,待排序列表的所有元素均被排序。
以下是一个示例:
```python
arr = [64, 25, 12, 22, 11]
print(selection_sort(arr)) # [11, 12, 22, 25, 64]
```
这里我们将一个包含 5 个元素的列表 `[64, 25, 12, 22, 11]` 传递给 `selection_sort` 函数,函数返回的已排序列表为 `[11, 12, 22, 25, 64]`。
阅读全文