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

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

自定義C++ Array類以支持快速排序

發布時間:2024-07-19 11:50:06 來源:億速云 閱讀:82 作者:小樊 欄目:編程語言

下面是一個簡單的C++ Array類,它支持快速排序的實現:

#include <iostream>

template <typename T>
class Array {
public:
    Array(int size) : size(size), data(new T[size]) {}

    ~Array() {
        delete[] data;
    }

    void push(T value) {
        data[index++] = value;
    }

    void quickSort() {
        quickSortHelper(0, size - 1);
    }

    void print() {
        for (int i = 0; i < size; i++) {
            std::cout << data[i] << " ";
        }
        std::cout << std::endl;
    }

private:
    int size;
    int index = 0;
    T* data;

    void quickSortHelper(int left, int right) {
        if (left < right) {
            int pivotIndex = partition(left, right);
            quickSortHelper(left, pivotIndex - 1);
            quickSortHelper(pivotIndex + 1, right);
        }
    }

    int partition(int left, int right) {
        T pivot = data[right];
        int i = left - 1;

        for (int j = left; j < right; j++) {
            if (data[j] < pivot) {
                i++;
                std::swap(data[i], data[j]);
            }
        }

        std::swap(data[i + 1], data[right]);
        return i + 1;
    }
};

int main() {
    Array<int> arr(10);
    arr.push(5);
    arr.push(2);
    arr.push(8);
    arr.push(1);
    arr.push(7);
    arr.push(3);
    arr.push(6);
    arr.push(4);
    arr.push(9);
    arr.push(10);

    std::cout << "Before sorting:" << std::endl;
    arr.print();

    arr.quickSort();

    std::cout << "After sorting:" << std::endl;
    arr.print();

    return 0;
}

在這個例子中,我們定義了一個Array類,它有一個動態分配的數組和一些基本的數組操作方法。我們使用快速排序算法來對數組進行排序。在main函數中,我們創建了一個Array對象,并向其中添加一些元素,然后進行快速排序并打印排序后的結果。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

澄江县| 永春县| 兰考县| 白银市| 阿克陶县| 琼海市| 荥经县| 龙州县| 乐山市| 濉溪县| 东宁县| 贵州省| 阳西县| 东丽区| 高要市| 富顺县| 开原市| 武汉市| 观塘区| 赤城县| 张家界市| 额敏县| 和平区| 石台县| 新密市| 云安县| 黎川县| 象州县| 江陵县| 湖口县| 杭州市| 普兰店市| 巴马| 建始县| 怀仁县| 新晃| 新密市| 涿鹿县| 榕江县| 响水县| 江城|