堆栈的初始化,入栈,出栈,取栈顶元素

堆栈的初始化,入栈,出栈,取栈顶元素

ID:38146269

大小:106.63 KB

页数:4页

时间:2019-05-27

堆栈的初始化,入栈,出栈,取栈顶元素_第1页
堆栈的初始化,入栈,出栈,取栈顶元素_第2页
堆栈的初始化,入栈,出栈,取栈顶元素_第3页
堆栈的初始化,入栈,出栈,取栈顶元素_第4页
资源描述:

《堆栈的初始化,入栈,出栈,取栈顶元素》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、堆栈的初始化,入栈,出栈,取栈顶元素#include#include#include#defineMAX5//定义堆栈最大容量enumBOOL{False,True};//定义BOOL型typedefstruct//定义堆栈结构{charelem[MAX];//栈区inttop;//栈顶指针}SqStack;voidInitial(SqStack&);//初始化一个堆栈BOOLPush(SqStack&,char);//将一个元素入栈BOOLPop(SqStack&,char&);

2、//将一个元素出栈BOOLGettop(SqStack,char&);//得到栈顶元素voidSqStackPrint(SqStack);//显示栈中所有元素voidmain(){SqStackSt;intflag=1;charj,ch;BOOLtemp;//---------------------程序解说-----------------------printf("本程序实现顺序结构的堆栈的操作。");printf("可以进行入栈,出栈,取栈顶元素等操作。");//------------------------------

3、----------------------Initial(St);//初始化堆栈Swhile(flag){printf("请选择:");printf("1.显示栈中所有元素");printf("2.入栈");printf("3.出栈");printf("4.取栈顶元素");printf("5.退出程序");scanf("%c",&j);switch(j){case'1':SqStackPrint(St);break;case'2':printf("请输入要入栈的元素(一个字符):");scanf("%c",&c

4、h);//输入要入栈的元素temp=Push(St,ch);//入栈if(temp==False)printf("堆栈已满!入栈失败!");else{printf("成功入栈!");//成功入栈SqStackPrint(St);}break;case'3':temp=Pop(St,ch);//出栈if(temp==False)printf("堆栈已空!");else{printf("成功出栈一个元素:%c",ch);//成功出栈SqStackPrint(St);}break;case'4':temp=Gettop(St,

5、ch);//取得栈顶元素if(temp==False)printf("堆栈已空!");elseprintf("栈顶元素是:%c",ch);//显示栈顶元素break;default:flag=0;printf("程序结束,按任意键退出!");}}getch();}voidInitial(SqStack&S){S.top=-1;//栈顶指针初始化为-1}BOOLPush(SqStack&S,charch){//将元素ch入栈,成功返回True,失败返回Falseif(S.top>=MAX-1)returnFalse;//判断是

6、否栈满else{S.top++;//栈顶指针top加一S.elem[S.top]=ch;//入栈returnTrue;}}BOOLPop(SqStack&S,char&ch){//将栈顶元素出栈,成功返回True,并用ch返回该元素值,失败返回Falseif(S.top<=-1)returnFalse;//判断是否栈空else{S.top--;//栈顶指针减一ch=S.elem[S.top+1];returnTrue;}}BOOLGettop(SqStackS,char&ch){//取得栈顶元素,成功返回True,并用ch返回该元素值,

7、失败返回Falseif(S.top<=-1)returnFalse;else{ch=S.elem[S.top];//显示栈顶元素returnTrue;}}voidSqStackPrint(SqStackS){//显示栈中所有元素inti;if(S.top<=-1)printf("堆栈已空!");else{printf("堆栈所有元素:");for(i=0;i<=S.top;i++)printf("%c",S.elem[i]);printf("");}}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。