#include<iostream>
using namespace std;
const int StackSize=10;
class SeqStack
{
public:
SeqStack( ) //构造函数,初始化一个空栈
{top=-1;}
~SeqStack( ) { } //析构函数为空
void Push( int x ) //入栈操作,将元素x入栈
{
if (top== StackSize-1) throw "溢出";
data[++top]=x;
}
int Pop( ) //出栈操作,将栈顶元素弹出
{
if (top==-1) throw "溢出";
int x=data[top--];
return x;
}
int data[StackSize]; //存放栈元素的数组
int top; //栈顶指针,为栈顶元素在数组的下标
};
int main()
{
SeqStack a;
for(int i= 1 ; i <= 10; i++)
{ a.Push(i);}
for(int i = 0; i < 10; i++)
{
int k = 0;
k = a.Pop();
cout<< k << endl;
}
}
运行结果: