6-1 基于顺序表的直接选择排序【有题解视频,可本地编译器调试】 分数 10
时间: 2024-09-20 10:06:03 浏览: 10
基于顺序表的直接选择排序是一种简单的排序算法,它的工作原理类似于找最小元素的过程。以下是基本步骤:
1. **遍历数组**: 从第一个元素开始,将其视为当前未排序部分中的最小元素。
2. **比较并交换**: 遍历剩余未排序部分,如果找到比当前最小元素小的元素,则交换它们的位置。
3. **移动边界**: 找到最小元素后,将其放到已排序部分的末尾。然后将未排序部分的指针向后移一位,继续寻找下一个最小元素。
4. **重复过程**: 继续上述步骤,直到整个数组都被排序。
**举例**:
假设有一个包含5个数字的顺序表:[8, 3, 1, 9, 4],第一次遍历时,我们会找到最小的3,并将其与第一位交换,得到[3, 8, 1, 9, 4]。接着第二次遍历找到1,与第二位交换,得到[3, 1, 8, 9, 4],以此类推,直到数组完全有序。
**代码示例**(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
# 测试排序
lst = [8, 3, 1, 9, 4]
sorted_lst = selection_sort(lst)
```