博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
堆栈(链栈)
阅读量:6435 次
发布时间:2019-06-23

本文共 1759 字,大约阅读时间需要 5 分钟。

#include
#include
#include
using namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status;typedef char SElemType;typedef struct StackNode{ SElemType data; struct StackNode *next;}StackNode,*LinkStack;//链栈的初始化Status InitStack(LinkStack &S){ S=NULL; return OK;}//链栈的入栈Status Push(LinkStack &S,SElemType e){ LinkStack p; p=new StackNode;//生成新结点 p->data=e;//将新节点数据域置为e p->next=S;//将新结点插入栈顶 S=p;//修改栈顶指针为p return OK;}//链栈的出栈Status Pop(LinkStack &S,SElemType &e){ LinkStack p; if(S==NULL)return ERROR;//栈空 e=S->data; p=S; S=S->next;//修改栈顶指针 delete p;//释放原栈顶元素的空间 return OK;}//取链栈的栈顶元素SElemType GetTop(LinkStack S){ if(S!=NULL)//栈非空 return S->data;}int main(){ LinkStack s; int choose,flag=0; SElemType j,t; cout<<" 1.初始化\n "; cout<<" 2.入栈\n "; cout<<" 3.读栈顶元素\n "; cout<<" 4.出栈\n "; cout<<" 0.退出\n\n "; choose=-1; while(choose!=0){ cout<<" 请选择: "; cin>>choose; switch(choose){ case 1: if(InitStack(s)){ flag=1; cout<<" 成功对栈进行初始化\n\n "; }else cout<<" 初始化栈失败\n\n "; break; case 2:{ fstream file; file.open("SqStack.txt"); if(!file){ cout<<" 错误 为找到文件!\n\n "<
>j; if(file.fail())break; else{ Push(s,j); cout<
<<" "; } } cout<
<

 

转载于:https://www.cnblogs.com/smallbrokenchildwen/p/6793469.html

你可能感兴趣的文章
OC-语法:static,extern,const修饰符,静态变量,局部变量,全局变量
查看>>
iOS- 应用程序对象UIApplication
查看>>
ios用户唯一标识
查看>>
JS:for...in...,Objects.keys()和Object.getOwnPropertyNames的区别
查看>>
如何设置Xshell中的多会话
查看>>
通过 Intent使用第三方应用打开
查看>>
批处理for命令讲解
查看>>
zabbix进行数据库备份以及表分区
查看>>
学好Linux决心书
查看>>
hive+impala+hue+sentry+ldap整合
查看>>
ElementUI之show-summary 与 summary-method
查看>>
开启PHP&PYTHON编程之路
查看>>
我的友情链接
查看>>
Java线程代码
查看>>
动态规划之硬币表示问题
查看>>
AGG第三课 下载与编译
查看>>
FFmpeg h264_probe函数剖析
查看>>
排序链表中删除重复元素II
查看>>
MSSQL2000+SP4补丁安装图解
查看>>
SpringData入门笔记(三) - SpringData初尝鲜
查看>>