📄 stack.h
字号:
#ifndef STACK_H__
#define STACK_H__
#include "Vector.h"
template <typename T>
class Stack {
private:
Vector<T> vec_;
public:
/* 将元素e压栈
*/
void push(const T&e) {
vec_.pushBack(e);
} // push(const T&)
/* 将元素e弹出
*/
void pop() {
vec_.removeBack();
} // pop()
/* 查询栈顶元素
* 如果Stack为空, 抛出std::out_of_range异常
*/
const T& top() const {
return vec_.back();
} // top() const
/* 预留至少capacity的空间
*/
void reserve(int capacity) {
vec_.reserve(capacity);
} // reserve(int)
/* 查询预留空间的大小
*/
int capacity() const {
return vec_.capacity();
} // capacity() const
/* 查询Stack中现存元素的数目
*/
int size() const {
return vec_.size();
} // size() const
/* 查询Stack是否为空
*/
bool isEmpty() const {
return vec_.isEmpty();
} // isEmpty() const
}; // Stack
#endif // STACK_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -