第五周——项目一 自建算法库 “顺序栈”
来源:互联网 发布:linux设置静态ip不生效 编辑:程序博客网 时间:2024/06/04 19:33
/*烟台大学计算机学院 文件名称:sqstack 作者:董玉祥 完成日期: 2017 10 14 问题描述:建立顺序栈算法库 */代码:sqstack.h#define SQSTACK_H_INCLUDED#define MaxSize 100typedef char ElemType;typedef struct{ ElemType data[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); //输出栈#endif // SQSTACK_H_INCLUDEDsqstack.cpp#include <stdio.h>#include "sqstack.h"#include <malloc.h>void InitStack(SqStack *&s){ s=(SqStack *)malloc(sizeof(SqStack)); s->top=-1;}void DestroyStack(SqStack *&s){ free(s);}bool StackEmpty(SqStack *s){ return (s->top==-1);}int StackLength(SqStack *s){ return (s->top+1);}bool Push(SqStack *&s,ElemType e){ if(s->top==MaxSize-1) return false; s->top++; s->data[s->top]=e; return true;}bool Pop(SqStack *&s,ElemType &e){ if(s->top==-1) return false; e=s->data[s->top]; s->top--; return true;}bool GetTop(SqStack *s,ElemType e){ if(s->top==-1) return false; e=s->data[s->top]; s->top--; return true;}void DispStack(SqStack *s){ int i; for(i=s->top;i>=0;i--) printf("%c",s->data[s->top]); printf("\n");}main.cpp#include <stdio.h>#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
- 第五周——项目一 自建算法库 “顺序栈”
- 第五周项目一C/C++数据结构之自建算法库——顺序栈
- 第五周 项目1 自建算法库-顺序栈
- 数据结构第五周项目-自建算法库顺序栈
- 第五周项目一—建立顺序栈算法库
- 第七周——项目一 自建算法库——顺序环形队列
- 第七周项目一数据结构之自建算法库——顺序环形队列
- 第八周项目一~数据结构之自建算法库——顺序串
- 第八周项目一~数据结构之自建算法库——顺序串
- 第八周项目一C/C++数据结构之自建算法库——顺序串
- 第七周项目一C/C++数据结构之自建算法库——顺序环形队列
- 第五周——项目一—建立顺序栈算法库
- 第五周 项目一——建立顺序栈算法库
- 第五周 项目一——建立顺序栈算法库
- 第五周项目一——j建立顺序栈算法库
- 第五周数据结构项目(一)——建立顺序栈算法库
- 第五周 项目一-建立顺序栈算法库
- 第五周 项目一【建立顺序栈算法库】
- HDU 2722:Here We Go(relians) Again
- hibernate多对多注解式开发
- DBCC CHECKDB修复异常表
- HDU 1213 How Many Tables [并查集]
- Node.js安装配置
- 第五周——项目一 自建算法库 “顺序栈”
- cocos creator学习(十四) websocket、onfire
- ST17H26移植软时钟代码
- 七月算法强化学习 第三课 学习笔记
- selenium自动化学习之元素查看
- 线性表导引
- Android8.0 屏幕旋转180度
- python datetime学习笔记
- Linux下修改Oracle监听地址