八大排序
指冒泡排序、选择排序、插入排序、快速排序、堆排序、桶排序、归并排序、希尔排序
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>
#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、希尔排序