选择排序之简单选择排序(Select Sort)

本文最后更新于:3 个月前

简单选择排序的介绍,包括选择排序的特点、原理和完整代码实现。

简单选择排序

1、特点

  • 交换记录导致排序方法是不稳定的
  • 可用于链式存储结构
  • 移动记录次数较少,当每一记录占用的空间较多时,此方法比直接插入排序快

2、过程(原理)

首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

3、完整代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void SelectSort(int arr[],int len)
{
for (int i = 0; i < len-1; i++)
{
int min = i;//标志位
for (int j = i+1; j < len; j++)
{
if (arr[min] > arr[j])//比较大小,如果比最小值小,就获取对方的下标给min
{
min = j;
}
}
if(min == i)//一轮搜索后最小值仍然是标志位,则直接进行下一轮比对
{
continue;
}
//把最小值和刚开始的标志位交换
int temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
}

补充内容

排序动画演示


选择排序之简单选择排序(Select Sort)
https://superlovelace.top/2023/09/28/SelectSort/
作者
棱境
发布于
2023年9月28日
更新于
2023年11月12日
许可协议