八大排序

指冒泡排序、选择排序、插入排序、快速排序、堆排序、桶排序、归并排序、希尔排序

1、冒泡排序

详见C语言冒泡排序

2、选择排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#define SIZE 5
int main() {
int max = 0, arr[SIZE] = { 0 };
for (int m = 0; m < SIZE; m++) {
scanf("%d", &arr[m]);
}
for (int i = 0; i < SIZE - 1; i++) {
for (int j = i + 1; j < SIZE; j++) {
if (arr[j] > arr[max]) {
max = j;
}
}
int temp = arr[i];
arr[i] = arr[max];
arr[max] = temp;
}
for (int m = 0; m < SIZE; m++) {
printf("%d ", arr[m]);
}
return 0;
}

3、桶排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//输入需限制在0 ~ 100
#define SIZE 100
int main() {
int arr[SIZE] = { 0 };
int num, temp;
printf("请输入你需要排序的数的个数\n");
scanf("%d", &num);
for (int i = 0; i < num; i++) {
scanf("%d", &temp);
arr[temp] = temp;
}
for (int j = 0; j < SIZE; j++) {
if (arr[j] > 0) {
printf("%d ", arr[j]);
}
}
return 0;
}

4、插入排序

5、堆排序

6、快速排序

7、归并排序

8、希尔排序