
C语言——排序算法
C语言中的排序算法
WE-ubytt
这个作者很懒,什么都没留下…
展开
-
排序算法(六)——归并排序
环境:Visual Studio 2019 #include<stdio.h> #include<stdlib.h> #include<string.h> int min(int a, int b) { if (a < b) return a; else return b; } void func(int arr[], int length) { if (length < 2) return;//小于两个元素不需要排序。 int* a =原创 2021-11-06 17:11:33 · 180 阅读 · 0 评论 -
排序算法(五)——快速排序
环境:Visual Studio 2019 #include<stdio.h> void func(int arr[], int length) { if (length < 2) return; int t = arr[0]; int left = 0; int right = length - 1; int flag = 2; while (left < right) { if (flag == 2) { if (arr[right] > t) { right–; cont原创 2021-11-06 15:51:15 · 140 阅读 · 0 评论 -
排序算法(四)——插入排序
环境:Visual Studio 2019 #include<stdio.h> void func(int arr[], int length) { for (int i = 1; i < length; i++) { if (arr[i] < arr[i - 1]) { int t = arr[i]; int j = 0; for (j = i - 1; j >= 0 && t < arr[j]; j–) { arr[j + 1] = arr[j]; }原创 2021-11-06 15:50:03 · 97 阅读 · 0 评论 -
排序算法(三)——二分排序
环境:Visual Studio 2019 #include<stdio.h> void func(int arr[], int length) { for (int i = 0; i < length; i++) { int flag = arr[i]; int left = 0; int right = i - 1; while (left <= right) { int mid = (left + right) / 2; if (flag < arr[mid]) righ原创 2021-11-06 15:48:49 · 129 阅读 · 0 评论 -
排序算法(二)——选择排序
环境:Visual Studio 2019 #include<stdio.h> void func(int arr[], int length) { for (int i = 0; i < length; i++) { int m = i; for (int j = i + 1; j < length; j++) { if (arr[j] < arr[m]) m = j; } if (m == i) continue; else { int t = arr[m]; arr[m]原创 2021-11-06 15:46:29 · 97 阅读 · 0 评论 -
排序算法(一)——冒泡排序
#include<stdio.h> void func(int arr[], int length) { for (int i = 0; i < length - 1; i++) { for (int j = 0; j < length - i - 1; j++) { if (arr[j] > arr[j + 1]) { int t = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = t; } } } } int main() { int a原创 2021-11-06 15:43:03 · 156 阅读 · 0 评论