1. 程式人生 > >棧(C++實現)

棧(C++實現)

與佇列不同,棧是一個 LIFO 資料結構。通常,插入操作在棧中被稱作入棧 push 。與佇列類似,總是在堆疊的末尾新增一個新元素。但是,刪除操作,退棧 pop ,將始終刪除佇列中相對於它的最後一個元素。

#include <iostream>

class MyStack {
    private:
        vector<int> data;               // store elements
    public:
        /** Insert an element into the stack. */
        void push(int x) {
            data.push_back(x);
        }
        /** Checks whether the queue is empty or not. */
bool isEmpty() { return data.empty(); } /** Get the top item from the queue. */ int top() { return data.back(); } /** Delete an element from the queue. Return true if the operation is successful. */ bool pop() { if
(isEmpty()) { return false; } data.pop_back(); return true; } };

棧的實現比佇列容易。動態陣列足以實現堆疊結構