博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【数据结构】栈结构操作示例
阅读量:5290 次
发布时间:2019-06-14

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

#include
#include
#include
#include
#include
#include
#define MAXLEN 100using namespace std;typedef struct{ char name[10]; int age;}DATA;typedef struct stack{ DATA data[MAXLEN+1]; int top;}StackType;StackType * STInit(){ StackType * p; if(p=(StackType*)malloc(sizeof(StackType))){ p->top=0; return p; } return NULL;}int STIsEmpty(StackType* s){ int t; t=(s->top==0); return t;}int STIsFull(StackType * s ){ int t; t=(s->top==MAXLEN); return t; }void STClear(StackType * s){ s->top=0;} void STFree(StackType * s){ if(s){ free(s); }}int PushST(StackType *s , DATA data){ if((s->top+1)>MAXLEN){ cout<<"栈溢出!\n"; return 0; } s->data[++s->top]=data; return 1;}DATA PopST(StackType * s){ if(s->top==0){ cout<<"栈为空!\n"; exit(0); } return (s->data[s->top--]);}DATA PeekST(StackType * s){ if(s->top==0){ cout<<"栈为空!\n"; exit(0); } return (s->data[s->top]);}int main(){ StackType * stack; DATA data1, data; stack=STInit(); cout<<"入栈操作:\n"; cout<<"输入姓名 年龄进行操作:\n"; do{ cin>>data.name>>data.age; if(strcmp(data.name,"0")==0){ break; } else{ PushST(stack, data); } }while(1); do{ cout<<"出栈操作:按任意键进行出栈操作:\n"; getchar(); data1=PopST(stack); cout<<"出栈的数据是"<
<<" "<
<

  

转载于:https://www.cnblogs.com/dragonir/p/5008202.html

你可能感兴趣的文章
CS0103: The name ‘Scripts’ does not exist in the current context解决方法
查看>>
20130330java基础学习笔记-语句_for循环嵌套练习2
查看>>
Spring面试题
查看>>
窥视SP2010--第一章节--SP2010开发者路线图
查看>>
MVC,MVP 和 MVVM 的图示,区别
查看>>
C语言栈的实现
查看>>
代码为什么需要重构
查看>>
TC SRM 593 DIV1 250
查看>>
SRM 628 DIV2
查看>>
2018-2019-2 20165314『网络对抗技术』Exp5:MSF基础应用
查看>>
统计单词,字符,和行
查看>>
jQuery垂直滑动切换焦点图
查看>>
Python-S9-Day127-Scrapy爬虫框架2
查看>>
模运算
查看>>
python多线程的使用
查看>>
团队编程项目作业1-成员简介及分工
查看>>
使用Chrome(PC)调试移动设备上的网页
查看>>
UI基础--手写代码实现汤姆猫动画
查看>>
使用gitbash来链接mysql
查看>>
黑盒测试和百合测试的优缺点对比
查看>>