91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
深圳市| 镇安县| 葫芦岛市| 吉首市| 萨迦县| 连山| 嘉黎县| 开阳县| 南丰县| 全椒县| 泾源县| 自治县| 许昌市| 岳普湖县| 封开县| 广河县| 武城县| 阜新| 五原县| 滨州市| 荔浦县| 聊城市| 姚安县| 米林县| 汨罗市| 江川县| 天柱县| 叶城县| 松潘县| 陆河县| 通河县| 沧州市| 江油市| 德惠市| 尚义县| 奉节县| 浮山县| 嘉禾县| 玛多县| 灵璧县| 阳东县|