📄 seqstack.h
字号:
// 文件名 : SeqStack.h
// 类名 : SeqStack
// 功能 : 顺序栈应用 - 压栈, 出栈, 置空等操作
// 参考书目 : <<数据结构>>(用面向对象方法与C++描述)殷人昆等著
// 时间地点 : 2002-06-09, 上海
// 作者 : 1.5kg
#ifndef __SEQSTACK_H__
#define __SEQSTACK_H__
#include <assert.h>
template <class T> class SeqStack
{
public:
SeqStack(int s);
~SeqStack() { delete[] elements; }
void Push(const T &item);
T Pop();
T GetTop();
void MakeEmpty() { top = -1; }
int IsEmpty() const { return top == -1; }
int IsFull() const { return top == maxSize - 1; }
private:
int top;
T *elements;
int maxSize;
};
template <class T> SeqStack<T>::SeqStack(int s) : top(-1), maxSize(s)
{
elements = new T[maxSize];
assert(elements != 0);
}
template <class T> void SeqStack<T>::Push(const T &item)
{
assert(!IsFull());
elements[++top] = item;
}
template <class T> T SeqStack<T>::Pop()
{
assert(!IsEmpty());
return elements[top--];
}
template <class T> T SeqStack<T>::GetTop()
{
assert(!IsEmpty());
return elements[top];
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -