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

溫馨提示×

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
扎鲁特旗| 枣庄市| 松溪县| 怀远县| 于田县| 项城市| 东乡县| 宜宾市| 报价| 修水县| 墨脱县| 平泉县| 安远县| 华宁县| 叙永县| 宁陕县| 广南县| 留坝县| 赫章县| 巴中市| 宁乡县| 揭东县| 余干县| 兴化市| 鄂托克旗| 峨边| 永宁县| 麻江县| 潞城市| 宣汉县| 高安市| 盐池县| 舟山市| 延庆县| 广饶县| 昂仁县| 德安县| 丹寨县| 东城区| 遂川县| 当阳市|