实现顺序栈各种基本运算实现顺序栈各种基本运算
#include "stdafx.h"
#include
#include
#define MaxSize 20
#define ElemType int
typedef struct SqStack
{//存储结构定义
ElemType elem[MaxSize];
int top;
}SqStrack;
void Init_SqStack(SqStack *s) { s->top=-1;}
void Push(SqStack *s,ElemType x) { if...
实现顺序栈各种基本运算
#include "stdafx.h"
#include
#include
#define MaxSize 20
#define ElemType int
typedef struct SqStack
{//存储结构定义
ElemType elem[MaxSize];
int top;
}SqStrack;
void Init_SqStack(SqStack *s) { s->top=-1;}
void Push(SqStack *s,ElemType x) { if(s->toptop=s->top+1; s->elem[s->top]=x;}
else printf("栈已满,不能入栈~\n");
}
int Pop(SqStack *s)
{//出栈
ElemType x;
if(s->top=-1)
{ x=s->elem[s->top]; s->top=s->top-1; return x;}
else
{ printf("栈为空,不能出栈~\n"); return 0;} }
int Get_Top(SqStack *s,ElemType x) {//读栈顶元素
if(s->top!=-1)
{ x=s->elem[s->top]; return 1;}
else
{ printf("栈为空~\n"); return 0;} }
void Display_SqStack(SqStack *s) {//顺序栈的显示
int m;
if(s->top==-1) printf("顺序栈为空~\n");
else
{ for(m=s->top;m>=0;m--) printf("%2d",s->elem[m]);
printf("\n"); }
}
void main()
{
SqStack s;
int x,y,cord;
ElemType a;
Init_SqStack(&s);
Push(&s,1);Push(&s,2);Push(&s,3);Push(&s,4);
printf("初始化\n依次进栈元素为 1 2 3 4: \n");
printf("从栈顶到栈底元素为: \n");
Display_SqStack(&s);
do{ printf("\n 主菜单 \n");
printf(" 1 入栈 \n");
printf(" 2 出栈 \n");
printf(" 3 读栈顶元素 \n");
printf(" 4 结束程序 \n");
printf("----------------------------------\n");
printf("请输入您选择的菜单号<1,2,3,4>:");
scanf("%d",&cord);
switch(cord)
{
case 1:
printf("请输入入栈元素~"); scanf("%d",&a); Push(&s,a);
printf("有栈顶到栈底元素为:");Display_SqStack(&s);
break;
case 2:
x=Pop(&s);
printf("出栈元素为:%d\n",x);
printf("由栈顶到栈底元素为:");Display_SqStack(&s);
break;
case 3:
y=Get_Top(&s,x); printf("栈顶元素为%d:\n",y);
printf("由栈顶到栈底元素为:");
Display_SqStack(&s);
break;
case 4:
exit(0);break;
default:
printf("输入有误~");
}
}while(cord<=4);
}
本文档为【实现顺序栈各种基本运算】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。