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

溫馨提示×

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
昭平县| 盐亭县| 太原市| 云和县| 义乌市| 竹北市| 嘉禾县| 云林县| 南靖县| 新源县| 吉安县| 武隆县| 康保县| 洪泽县| 纳雍县| 黄平县| 咸阳市| 蒙自县| 印江| 昌都县| 南华县| 阿合奇县| 彭水| 仲巴县| 和平县| 英山县| 古田县| 兰考县| 太湖县| 三河市| 贵州省| 全椒县| 福海县| 无棣县| 卢龙县| 宁南县| 库伦旗| 吉安县| 万州区| 治多县| 汨罗市|