第六周-建立顺序栈
来源:互联网 发布:排名算法 编辑:程序博客网 时间:2024/06/05 16:16
头文件
#include<stdio.h>#include<malloc.h>#define maxsize 100typedef char ElemType ;typedef struct{ char date[maxsize]; int top; }SqStack;void InitStack(SqStack *&s); //初始化栈void DestroyStack(SqStack *&s); //销毁栈bool StackEmpty(SqStack *s); //栈是否为空int StackLength(SqStack *s); //返回栈中元素个数——栈长度bool Push(SqStack *&s,ElemType e); //入栈bool Pop(SqStack *&s,ElemType &e); //出栈bool GetTop(SqStack *s,ElemType &e); //取栈顶数据元素void DispStack(SqStack *s); //输出栈
源文件
#include"sqstack.h"void InitStack(SqStack *&s){ s=(SqStack *)malloc(sizeof(SqStack)); s->top=-1;}void DestroyStack(SqStack *&s){ free(s);}bool StackEmpty(SqStack *s){ if(s->top==-1) { return true; } else return false;}int StackLength(SqStack *s){ return s->top+1;}bool Push(SqStack *&s,ElemType e){ if(s->top==maxsize-1) { return false; } s->top++; s->date[s->top]=e; return true;}bool Pop(SqStack *&s,ElemType &e){ if(s->top==-1) { return false; } e=s->date[s->top]; s->top--; return true;}bool GetTop(SqStack *s,ElemType &e){ if(s->top==-1) { return false; } e=s->date[s->top]; s->top--; return true;}void DispStack(SqStack *l){ int i=0; while(i<=l->top) { printf("%c ",l->date[i]); i++; } printf("\n");}主函数
#include"sqstack.h"int main(){ ElemType e; SqStack *s; printf("(1)初始化栈s\n"); InitStack(s); printf("(2)栈为%s\n",(StackEmpty(s)?"空":"非空")); printf("(3)依次进栈元素a,b,c,d,e\n"); Push(s,'a'); Push(s,'b'); Push(s,'c'); Push(s,'d'); Push(s,'e'); printf("(4)栈为%s\n",(StackEmpty(s)?"空":"非空")); printf("(5)栈长度:%d\n",StackLength(s)); printf("(6)从栈顶到栈底元素:"); DispStack(s); printf("(7)出栈序列:"); while (!StackEmpty(s)) { Pop(s,e); printf("%c ",e); } printf("\n"); printf("(8)栈为%s\n",(StackEmpty(s)?"空":"非空")); printf("(9)释放栈\n"); DestroyStack(s); return 0;}
运行结果
0 0
- 第六周-建立顺序栈
- 第六周 项目1 建立顺序栈
- 第六周 建立顺序栈算法库
- 第六周 建立顺序栈算法库
- 【栈项目1 - 建立顺序栈算法库 第六周】
- 第六周项目1-建立顺序栈算法库
- 第六周项目一~~~建立顺序栈算法库
- 第六周 项目1 -- 建立顺序栈算法库
- 第六周-项目1 - 建立顺序栈算法库
- 第六周项目1—建立顺序栈算法库
- 第六周项目1 - 建立顺序栈算法库
- 第六周--项目1建立顺序栈算法库
- 第六周--项目一--建立顺序栈算法库
- 第六周 项目1-建立顺序栈算法库
- 第六周 项目一-建立顺序栈算法库
- 第六周项目(1):建立顺序栈算法库
- 第六周项目一建立顺序栈算法库
- 第六周项目4建立顺序栈算法库
- hdoj I Hate It 1754 (线段树区间最值 模板)
- 本地通知和远程通知
- Linux--rhel7.0--忘记root用户密码解决办法
- MVC中处理Json和JS中处理Json对象
- C++中关于public、protect、private的访问权限控制
- 第六周-建立顺序栈
- 17.1.1.6 Creating a Data Snapshot Using Raw Data Files
- 背包问题2:完全背包
- poj3264 Balanced Lineup(RMQ +st)
- Extract CNN features using Caffe
- 使用BaseAdapter 与ListView结合创建图文实现更灵活的列表
- 【Python】Learn Python the hard way, ex35 通过一个简单游戏,练习循环和分支语句
- Linux 操作系统配置——总体架构目录
- 软件开发工具总结