常见的排序算法:
1.算法思想
每⼀趟在待排序元素中选取关键字最小(或最大)的元素加入有序子序列。n个元素的简单选择排序需要 n-1 趟处理。
2.测试结果
3.完整代码
#include <malloc.h>
#include <stdio.h>
#define MAXSIZE 20
void selectSort(int a[], int len) {
int min, temp;
for (int i = 0; i < len - 1; i++) {
min = i; //设置最小值下标为当前下标
//选择出每次排序的最小值下标
for (int j = i + 1; j < len; j++) {
if (a[j] < a[min]) {
min = j;
}
}
//将最小值和当前下标值进行交换
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}
int main() {
int a[] = {49, 38, 65, 97, 76, 13, 27, 49};
int len = sizeof(a) / sizeof(a[0]);
int i;
int low = 0, high = len - 1;
printf("排序前为:\n");
for (i = 0; i < len; i++) {
printf("%d\t", a[i]);
}
selectSort(a, len);
printf("\n排序后为:\n");
for (i = 0; i < len; i++) {
printf("%d\t", a[i]);
}
return 0;
}