1 / 4
文档名称:

顺序栈的创建进栈与出栈.doc

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

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

分享

预览

顺序栈的创建进栈与出栈.doc

上传人:ielbcztwz24384 2019/3/18 文件大小:33 KB

下载得到文件列表

顺序栈的创建进栈与出栈.doc

文档介绍

文档介绍:#include<>#include<>#include<iostream>#defineMAXNUM100typedefdoubleElemtype;/*定义顺序栈的存储结构*/typedefstruct{ Elemtypestack[MAXNUM]; inttop;}SqStack;/*初始化顺序栈*/voidInitStack(SqStack*p){ p->top=-1; if(!p) printf("error"); p->top=-1;}/*入栈*/voidPush(SqStack*p,Elemtypex){ if(p->top<MAXNUM-1) { p->top++; p->stack[p->top]=x; } else { printf("Overflow!\n"); }}/*出栈*/ElemtypePop(SqStack*p){ Elemtypex; if(p->top!=-1) { x=p->stack[p->top]; printf("%lf",p->stack[p->top]); p->top--; return(x); } else { printf("Underflow!\n"); return(0); }}/*遍历顺序栈*/voidOutStack(SqStack*p){ chari; printf("\n"); if(p->top<0) printf("ThisisaEmptyStack!\n"); for(i=p->top;i>=0;i--) printf("%lf",p->stack[i]);}/*主函数*/intmain(){ SqStack*q; q=(SqStack*)malloc(sizeof(SqStack)); InitStack(q); intcord; doubley; inti,n; Elemtypea; do { printf("\n**************Menu**************\n"); printf("\n*1InitStack*\n"); printf("\n*2Push*\n"); printf("\n*3Pop*\n");printf("\n*4PrintStack*\n"); printf("\n**************************************\n"); printf("Choose(1234):"); scanf("%d",&cord); printf("\n