亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c++快速排序函數怎么使用

c++
小億
103
2024-01-31 10:18:00
欄目: 編程語言

C++中的快速排序函數可以通過以下步驟來使用:

  1. 包含 <iostream> 頭文件用于輸入輸出操作。
  2. 定義一個快速排序函數,參數為要排序的數組,起始索引和結束索引。
  3. 在快速排序函數內部,選擇一個基準元素(一般選擇數組的第一個元素)。
  4. 設置兩個指針,一個指向起始索引,一個指向結束索引。
  5. 將比基準元素小的元素放在基準元素的左邊,比基準元素大的元素放在右邊。
  6. 遞歸調用快速排序函數,對基準元素左邊的子數組和右邊的子數組進行排序。
  7. 在快速排序函數外部,調用快速排序函數來對數組進行排序。

下面是一個使用快速排序函數的示例代碼:

#include <iostream>

// 快速排序函數
void quickSort(int arr[], int start, int end) {
    if (start < end) {
        int pivot = arr[start]; // 基準元素
        int i = start; // 左指針
        int j = end; // 右指針

        while (i < j) {
            // 從右往左找到比基準元素小的元素
            while (i < j && arr[j] >= pivot) {
                j--;
            }
            if (i < j) {
                arr[i] = arr[j];
                i++;
            }

            // 從左往右找到比基準元素大的元素
            while (i < j && arr[i] <= pivot) {
                i++;
            }
            if (i < j) {
                arr[j] = arr[i];
                j--;
            }
        }

        arr[i] = pivot; // 將基準元素放到正確的位置

        // 遞歸調用快速排序函數
        quickSort(arr, start, i - 1); // 對左邊的子數組進行排序
        quickSort(arr, i + 1, end); // 對右邊的子數組進行排序
    }
}

int main() {
    int arr[] = {5, 2, 8, 3, 1, 6};
    int n = sizeof(arr) / sizeof(arr[0]);

    std::cout << "原始數組:";
    for (int i = 0; i < n; ++i) {
        std::cout << arr[i] << " ";
    }
    std::cout << std::endl;

    quickSort(arr, 0, n - 1); // 調用快速排序函數

    std::cout << "排序后的數組:";
    for (int i = 0; i < n; ++i) {
        std::cout << arr[i] << " ";
    }
    std::cout << std::endl;

    return 0;
}

輸出結果:

原始數組:5 2 8 3 1 6 
排序后的數組:1 2 3 5 6 8

在上面的示例中,我們定義了一個 quickSort 函數來對數組進行快速排序。然后在 main 函數中調用該函數,并輸出排序后的數組。

0
延长县| 乌兰浩特市| 馆陶县| 广宗县| 北京市| 郁南县| 长春市| 柘城县| 屏东市| 瑞安市| 遂溪县| 中江县| 家居| 读书| 肇源县| 丹江口市| 广元市| 雷州市| 恩平市| 鲁山县| 祁东县| 南安市| 北安市| 新营市| 北海市| 宁波市| 华池县| 安乡县| 义马市| 广灵县| 资阳市| 泰州市| 成都市| 铜陵市| 江达县| 张北县| 韶关市| 墨玉县| 黎城县| 海林市| 莱芜市|