顺序栈在数据结构中是比较基础的,但也是比较重要的一个知识点。很多同学希望有一个简单的实例来了解顺序栈,但是书本上的代码都是伪代码,我们不怎么能理解。下面就满足同学们这个小小的愿望吧
工具/原料
任意一个C语言编程软件(这里使用VC6.0)
方法/步骤
1
第一步,构建顺序栈的储存结构:#include
2
第二步,顺序栈的初始化int InitStack(SqStack &S)//顺序栈的初始化{ S.base=new int [MAXSIZE]; if(!S.base)exit(0); S.top=S.base; S.stacksize=MAXSIZE; return 1;}
3
第三步,入栈int Push(SqStack &S,int e)//入栈{ if(S.top-S.base==S.stacksize)return 0; *S.top=e; S.top++; return 1;}
4
第四步,取栈顶元素int GetTop(SqStack &S)//取栈顶元素;{ if(S.top!=S.base) return *(S.top-1);}
5
第五步,出栈int Pop(SqStack &S,int &e)//出栈{ if(S.top==S.base)return 0; e=*--S.top;//等价于S.top--;e=S.top; return 1;}
6
第六步,主函数int main(){ SqStack S; InitStack(S); int e; cin>>e; Push(S,e); int d; d=GetTop(S); cout<