⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stack.h

📁 一个我的数据结构解题集合
💻 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 + -