c++中棧是怎么實(shí)現(xiàn)的

c++
小億
91
2024-04-19 10:18:14
欄目: 編程語言

在C++中,??梢酝ㄟ^使用標(biāo)準(zhǔn)庫中的std::stack來實(shí)現(xiàn)。std::stack是一個(gè)模板類,可以使用std::deque、std::liststd::vector等STL容器來實(shí)現(xiàn)。

下面是一個(gè)使用std::stackstd::vector實(shí)現(xiàn)棧的示例代碼:

#include <iostream>
#include <stack>
#include <vector>

int main() {
    std::stack<int, std::vector<int>> myStack;

    myStack.push(1);
    myStack.push(2);
    myStack.push(3);

    while (!myStack.empty()) {
        std::cout << myStack.top() << " ";
        myStack.pop();
    }

    std::cout << std::endl;

    return 0;
}

在上面的示例代碼中,通過std::stack<int, std::vector<int>> myStack聲明了一個(gè)整型的棧,并使用std::vector作為底層容器。然后使用push()方法向棧中壓入元素,使用top()方法訪問棧頂元素,使用pop()方法彈出棧頂元素,使用empty()方法判斷棧是否為空。

通過std::stack,可以方便地實(shí)現(xiàn)棧的功能,無需手動(dòng)編寫棧的數(shù)據(jù)結(jié)構(gòu)。

0