选择排序的设计与实现
时间: 2024-01-08 16:04:18 浏览: 42
选择排序是一种简单直观的排序算法,其基本思想是每次从待排序的记录中选出关键字最小(或最大)的元素,将其放在已排序的记录序列末尾,直到全部排序结束为止。下面是选择排序的设计与实现的步骤:
1. 遍历待排序的数组,将第一个元素设为最小值。
2. 从第二个元素开始,依次与最小值比较,如果找到比最小值更小的元素,则更新最小值的索引。
3. 遍历完一轮后,将最小值与第一个元素交换位置,即将最小值放在已排序的记录序列末尾。
4. 重复步骤2和步骤3,直到全部排序结束。
下面是一个选择排序的示例代码:
```python
def selection_sort(arr):
n = len(arr)
for i in range(n-1):
min_idx = i
for j in range(i+1, n):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr
# 测试示例
arr = [4, 6, 5, 3]
sorted_arr = selection_sort(arr)
print(sorted_arr) # 输出:[3, 4, 5, 6]
```
在上述示例中,我们使用了两层循环来实现选择排序。外层循环控制每一轮的比较和交换,内层循环用于找到当前轮次中的最小值的索引。通过不断地选择最小值并交换位置,最终实现了整个数组的排序。
相关推荐
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)