中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c語言快速排序算法怎么實現

小億
83
2024-02-23 10:08:35
欄目: 編程語言

快速排序算法是一種常見的排序算法,其基本思想是通過一趟排序將待排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另一部分的所有數據小,然后分別對這兩部分數據進行排序,循環遞歸直到整個序列有序。

以下是C語言實現快速排序算法的示例代碼:

#include <stdio.h>

void quickSort(int arr[], int left, int right) {
    int i = left, j = right;
    int pivot = arr[(left + right) / 2];

    while (i <= j) {
        while (arr[i] < pivot) {
            i++;
        }
        while (arr[j] > pivot) {
            j--;
        }
        if (i <= j) {
            int temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
            i++;
            j--;
        }
    }

    if (left < j) {
        quickSort(arr, left, j);
    }
    if (i < right) {
        quickSort(arr, i, right);
    }
}

int main() {
    int arr[] = {12, 34, 23, 45, 56, 67, 78, 89, 90, 11};
    int n = sizeof(arr) / sizeof(arr[0]);

    quickSort(arr, 0, n - 1);

    printf("Sorted array: ");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}

在上面的代碼中,quickSort函數實現了快速排序算法的邏輯,其中left表示數組的起始索引,right表示數組的結束索引。在主函數中,我們定義了一個數組arr并調用quickSort函數對其進行排序,最后打印排序后的結果。

注意:上面的示例代碼只是一種實現方式,實際應用中可能需要根據具體情況進行優化和改進。

0
金秀| 五原县| 毕节市| 咸阳市| 文昌市| 谷城县| 潍坊市| 锦州市| 潜江市| 视频| 青田县| 仁寿县| 临西县| 德清县| 田林县| 涿鹿县| 盘山县| 栾川县| 铜梁县| 习水县| 沐川县| 重庆市| 洱源县| 榆林市| 遂宁市| 周宁县| 兴国县| 济阳县| 青冈县| 丰原市| 昭觉县| 威海市| 隆德县| 西华县| 涞源县| 迭部县| 临泉县| 大竹县| 镶黄旗| 沈丘县| 西宁市|