📄 stack.h
字号:
#include<iostream>
#define maxstack 10
using namespace std;
enum Error_code{success,overflow,underflow};
typedef char Stack_entry;
class Stack {
public:
Stack();
void clear();
int size() const;
bool full() const;
bool empty() const;
Error_code pop();
Error_code push(const Stack_entry &item);
Error_code top(Stack_entry &item) const;
private:
int count;
Stack_entry entry[maxstack];
};
Stack::Stack()
{
count = 0;
}
void Stack::clear()
{
while (count != 0)
pop();
}
int Stack::size() const
{
return count;
}
bool Stack::full() const
{
return count > maxstack;
}
bool Stack::empty() const
{
return count == 0;
}
Error_code Stack::pop()
{
Error_code outcome=success;
if (count==0)
outcome=underflow;
else --count;
return outcome;
}
Error_code Stack::push(const Stack_entry &item)
{
Error_code outcome=success;
if (count>=maxstack)
outcome=overflow;
else
entry[count++]=item;
return outcome;
}
Error_code Stack::top(Stack_entry &item) const
{
Error_code outcome=success;
if (count==0)
outcome=underflow;
else
item=entry[count-1];
return outcome;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -