顺序栈,数组存储栈元素(C++)

本文详细介绍了如何使用C++编程语言实现顺序栈,重点在于利用数组作为存储结构,探讨了栈的基本操作,包括入栈、出栈以及栈的初始化等。
摘要由CSDN通过智能技术生成

用数组来存储栈中的元素

const int stackIncreament=20;

template<class T>
class Stack{
public:
      Stack(int sz=50);
      ~Stack(){delete []elements;}
      void Push(const T&x);
      bool Pop(T&x);
      bool getTop(T&x);
      bool IsEmpty()const{return (top==-1)?true:false;}
      bool IsFull()const{return (top==maxSize-1)?true:false;}
      int getSize()const{return top+1;}
      void makeEmpty(){top=-1;}
      friend ostream& operator<<(ostream& os, Stack<T>& s);
private:
      T *elements;
      int top;
      int maxSize;
      void overflowProcess();//当数组不够存放数据时,对数组容量进行扩充
};

template<class T>
Stack<T>::Stack(int sz):top(-1),maxSize(sz){
      elements=new T[maxSize];
      assert(elements!=NULL);
}

template<class T>
void Stack<T>::overflowProcess(){
      //私有函数,扩充栈的存储空间
      T *newArray = new T[maxSize+stackI
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值