1 / 5
文档名称:

顺序栈的进栈与出栈.doc

格式:doc   大小:16KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

顺序栈的进栈与出栈.doc

上传人:iris028 2019/12/23 文件大小:16 KB

下载得到文件列表

顺序栈的进栈与出栈.doc

文档介绍

文档介绍:顺序栈的进栈与出栈#include<iostream>#include<>#include<>#defineSTACK_INIT_SIZE100#defineSTACKINCREMENT10usingnamespacestd;structsqstack{int*base;int*top;intstacksize;};intInitstack(sqstack&s){=(int*)malloc(STACK_INIT_SIZE*sizeof(int));if(!)exit(-2);=;=STACK_INIT_SIZE;return0;}intGetTop(sqstackS,inte){if(==)return0;e=*(-1);//栈中元素从1开始进栈,所以-1return0;}intPushstack(sqstack&s,inte){if(->=){=(int*)realloc(,(+STACKINCREMENT)*sizeof(int));if(!)exit(-2);=+;+=STACKINCREMENT;}*++=e;return0;}intPopstack(sqstack&s,int&e){if(==)return0;cout<<"出栈元素为:";intj=-;for(inti=0;i<j;i++){e=*--;cout<<e;}cout<<endl;return0;}intCreatStack(sqstack&S)//建立栈{inte,i,j=0;cout<<"请输入您想输入的元素个数:";cin>>i;cout<<"请输入元素:";for(;j<i;j++){cin>>e;Pushstack(S,e);}return0;}intvisit(inte){cout<<e;return0;}intStackTraverse(sqstacks,int(*visit)(int))//从栈底到栈顶依次对栈中每个元素调用函数visit().一旦visit()失败,则操作失败{if(<=)cout<<"栈已空!";while(>)visit(*