温馨提示×

如何自定义C++ deque

c++
小樊
83
2024-08-13 11:43:37
栏目: 编程语言

要自定义C++ deque,您可以创建一个新的类,并在其中实现deque的功能。以下是一个简单的示例:

#include <iostream>
#include <vector>

template <typename T>
class CustomDeque {
private:
    std::vector<T> data;
public:
    void push_back(const T& value) {
        data.push_back(value);
    }

    void push_front(const T& value) {
        data.insert(data.begin(), value);
    }

    void pop_back() {
        if (!data.empty()) {
            data.pop_back();
        }
    }

    void pop_front() {
        if (!data.empty()) {
            data.erase(data.begin());
        }
    }

    T& front() {
        return data.front();
    }

    T& back() {
        return data.back();
    }

    bool empty() {
        return data.empty();
    }

    size_t size() {
        return data.size();
    }
};

int main() {
    CustomDeque<int> myDeque;
    myDeque.push_back(1);
    myDeque.push_back(2);
    myDeque.push_front(0);
    
    std::cout << "Front element: " << myDeque.front() << std::endl;
    std::cout << "Back element: " << myDeque.back() << std::endl;

    myDeque.pop_front();
    myDeque.pop_back();

    std::cout << "Size of deque: " << myDeque.size() << std::endl;

    return 0;
}

在这个例子中,我们创建了一个名为CustomDeque的自定义deque类。我们使用std::vector作为内部数据结构,并实现了push_back、push_front、pop_back、pop_front、front、back、empty和size等功能。您可以根据自己的需求自定义deque的功能。

0