顺序栈的验证实验

来源:互联网 发布:游民星空mac游戏 编辑:程序博客网 时间:2024/04/30 15:04
#ifndef SeqStack_H#define SeqStack_Hconst int StackSize=10;template<class DataType>class SeqStack{public:SeqStack();~SeqStack(){}void Push(DataType x);DataType Pop();DataType GetTop();int Empty();private:DataType data[StackSize];int top;};#endif
#include"SeqStack.h"template<class DataType>SeqStack<DataType>::SeqStack(){top=-1;}template< class DataType>void SeqStack<DataType>::Push(DataType x){if(top==StackSize-1)throw"上溢";top++;data[top]=x;}template<class DataType>DataType SeqStack<DataType>::Pop(){DataType x;if(top==-1)throw"下溢";x=data[top--];return x;}template<class DataType>DataType SeqStack<DataType>::GetTop(){if(top!=-1)return data[top];}template<class DataType>int SeqStack<DataType>::Empty(){if(top==-1)return 1;else return 0;}

#include<iostream>using namespace std;#include"SeqStack.cpp"void main(){SeqStack<int>S;if(S.Empty())cout<<"栈为空"<<endl;elsecout<<"栈非空"<<endl;cout<<"对15和10进行入栈操作"<<endl;S.Push(15);S.Push(10);cout<<"栈顶元素为:"<<endl;cout<<S.GetTop()<<endl;cout<<"执行一次出栈操作"<<endl;S.Pop();cout<<"栈顶元素为:"<<endl;cout<<S.GetTop()<<endl;}


0 0
原创粉丝点击