《数据结构对元素类型为整型的顺序存储的线性表进行插入删除和查找操作计算机存储_计算机-C++资料.pdf》由会员分享,可在线阅读,更多相关《数据结构对元素类型为整型的顺序存储的线性表进行插入删除和查找操作计算机存储_计算机-C++资料.pdf(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据结构对元素类型为整型的顺序存储的线性表进行插 入、删除和查找操作#include using namespace std;const int stackIncreament=20;class SeqStack private:int*elements;int top;int maxSize;void overflowProcess();/栈的溢出处理 public:SeqStack(int sz=50);SeqStack()deleteelements;void Push(const int&x);bool Pop(int&x);bool getTop(int&x);bool IsEmpt
2、y()const return(top=1)?true:false;bool IsFull()const return(top=maxSize-1)?true:false;int getSize()constreturn top+1;void MakeEmpty()top=-1;friend ostream&operator(ostream&os,SeqStack&s)ostop=s.topendl;for(int i=0;i=s.top;i+)osi:s.elementsiendl;return os;SeqStack:SeqStack(int sz):top(-1),maxSize(sz)
3、elements=new intmaxSize;void SeqStack:overflowProcess()/私有函数:扩充栈的存储空间 int*newArray=new intmaxSize+stackIncreament;for(int i=0;i=top;i+)newArrayi=elementsi;maxSize=maxSize+stackIncreament;deleteelements;elements=newArray;void SeqStack:Push(const int&x)if(IsFull()=true)overflowProcess();/栈满则溢出处理 eleme
4、nts+top=x;/栈顶指针先加,,再进栈 bool SeqStack:Pop(int&x)if(IsEmpty()=true)return false;x=elementstop-;return true;bool SeqStack:getTop(int&x)if(IsEmpty()=true)return false;x=elementstop;return true;间栈满则溢出处理栈顶指针先加再进栈推进个数据退栈前元素个数栈顶元素退栈退栈元素是退栈后元素个数 void main()SeqStack s;int n=20;for(int i=1;i=n;i+)/推进 20 个数据 s.Push(i);couts;coutendl 退栈前元素个数:s.getSize()endl;int x;if(s.Pop(x);/栈顶元素退栈 cout 退栈元素是:xendl;coutendl 退栈后元素个数:s.getSize()endl;间栈满则溢出处理栈顶指针先加再进栈推进个数据退栈前元素个数栈顶元素退栈退栈元素是退栈后元素个数