c语言排序算法代码怎么写

   2025-02-13 8450
核心提示:C语言中常见的排序算法有冒泡排序、插入排序、选择排序、快速排序等。以下是这些排序算法的示例代码:冒泡排序(Bubble Sort):

C语言中常见的排序算法有冒泡排序、插入排序、选择排序、快速排序等。以下是这些排序算法的示例代码:

冒泡排序(Bubble Sort):
void bubbleSort(int arr[], int n) {    for (int i = 0; i < n-1; i++) {        for (int j = 0; j < n-i-1; j++) {            if (arr[j] > arr[j+1]) {                int temp = arr[j];                arr[j] = arr[j+1];                arr[j+1] = temp;            }        }    }}
插入排序(Insertion Sort):
void insertionSort(int arr[], int n) {    for (int i = 1; i < n; i++) {        int key = arr[i];        int j = i - 1;        while (j >= 0 && arr[j] > key) {            arr[j+1] = arr[j];            j--;        }        arr[j+1] = key;    }}
选择排序(Selection Sort):
void selectionSort(int arr[], int n) {    for (int i = 0; i < n-1; i++) {        int min_idx = i;        for (int j = i+1; j < n; j++) {            if (arr[j] < arr[min_idx]) {                min_idx = j;            }        }        int temp = arr[min_idx];        arr[min_idx] = arr[i];        arr[i] = temp;    }}
快速排序(Quick Sort):
int partition(int arr[], int low, int high) {    int pivot = arr[high];    int i = (low - 1);    for (int j = low; j <= high-1; j++) {        if (arr[j] < pivot) {            i++;            int temp = arr[i];            arr[i] = arr[j];            arr[j] = temp;        }    }    int temp = arr[i+1];    arr[i+1] = arr[high];    arr[high] = temp;    return (i + 1);}void quickSort(int arr[], int low, int high) {    if (low < high) {        int pi = partition(arr, low, high);        quickSort(arr, low, pi-1);        quickSort(arr, pi+1, high);    }}

以上是四种常见的排序算法的C语言示例代码。你可以根据实际需求选择合适的排序算法来使用。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言