数据结构|顺序栈的实现(实验3.1)

一、实验目的

1、熟练掌栈的结构特点,掌握栈的顺序存储结构和实现。

2、学会使用栈解决实际问题。

二、实验内容

1、自己确定结点的具体数据类型和问题规模,建立一个顺序栈,实现栈的压栈和出栈操作。


源代码如下:

#include  
using namespace std;  
const int StackSize = 10;  
template  
class SeqStack
{
    public:  
        SeqStack(){  top=-1; };
        ~SeqStack(){}
        void push(T x); 
        T pop();//
		T gettop();
        int empty();//
		void print();
    private:  
        T data[StackSize]; //   
        int top;  // 
}; 
template  
void SeqStack::push(T x)  
{  
    if (top==StackSize-1) throw("上溢");  
   top++;
   data[top]=x;
}  
template  
T SeqStack::pop()               
{  T x;
   if (top==-1)throw("下溢");
   x=data[top--];
   return x;
}    
  
template      
T SeqStack::gettop( )    
{
    if(top!=-1)
		return data[top];
}  
  
template      
int SeqStack::empty( )  
{   
    if(top==-1) 
        return 1;  
	else return 0;
     
}   
template< class T >  
void SeqStack::print()  
{  
    for( int i=0 ; i<=top ; i++)  
    {  cout<S;
if(S.empty())
cout <<"栈为空"<
运行结果如下:

数据结构|顺序栈的实现(实验3.1)_第1张图片

你可能感兴趣的:(数据结构|顺序栈的实现(实验3.1))