本题要求实现简单选择排序函数,待排序列的长度1<=n<=1000。 函数接口定义: void SelectSort(SqList L); 其中L是待排序表,使排序后的数据从小到大排列。
时间: 2023-12-10 11:41:34 浏览: 112
C语言程序设计-编写函数用选择排序法对数组中的数据进行从小到大的排序;
5星 · 资源好评率100%
以下是简单选择排序函数的实现,时间复杂度为$O(n^2)$:
```c++
typedef struct {
int r[1001];
int length;
}SqList;
void SelectSort(SqList &L) {
int i, j, min;
for (i = 1; i < L.length; i++) {
min = i;
for (j = i+1; j <= L.length; j++) {
if (L.r[j] < L.r[min]) {
min = j;
}
}
if (i != min) {
swap(L.r[i], L.r[min]);
}
}
}
```
其中,swap函数用于交换两个数:
```c++
void swap(int &a, int &b) {
int temp = a;
a = b;
b = temp;
}
```
阅读全文