顺序栈实现
来源:互联网 发布:什么是淘宝流量怎么用 编辑:程序博客网 时间:2024/05/16 17:16
#include<iostream>#include<stdio.h>#include<stdlib.h>using namespace std;//----------顺序栈的实现-------------#define STACK_INIT_SIZE 100#define STACKINCREAMENT 10#define OVERFLOW -2#define OK 1#define ERROR 0typedef int ElemType;typedef struct{ ElemType *base; ElemType *top; int stacksize;}SqStack;int InitStack(SqStack &s){ s.base=(ElemType * )malloc(STACK_INIT_SIZE * sizeof(ElemType)); if(!s.base)exit(OVERFLOW); s.top=s.base; s.stacksize=STACK_INIT_SIZE; return OK;}bool Empty(SqStack s){ return s.base == s.top;}int GetTop(SqStack s,ElemType &e){ if(Empty(s))return ERROR; e=*(s.top-1); return OK;}int Push(SqStack &s,ElemType &e){ if(s.top-s.base >= s.stacksize){ s.base = (ElemType * )realloc(s.base,((s.stacksize + STACKINCREAMENT) * sizeof(ElemType))); if(!s.base)return ERROR; s.top = s.base+s.stacksize; s.stacksize += STACKINCREAMENT; } *s.top++ = e; return OK;}int Pop(SqStack &s,ElemType &e){ if(Empty(s))return ERROR; e = *(--s.top); return OK;}void print(SqStack s){ int e; while(!Empty(s)){ Pop(s,e); cout<< e <<" "; } cout<<endl;}int main(){ int arr[]={1,2,3,4,5,6,7,8,9}; SqStack s;InitStack(s); for(int i=0;i<9;++i)Push(s,arr[i]); print(s); return 0;}
阅读全文
0 0
- 栈的顺序实现
- C#实现顺序栈
- 顺序栈实现
- 顺序栈的实现
- 顺序栈的实现
- 顺序栈简单实现
- c实现顺序栈
- 顺序栈的实现
- 顺序栈的实现
- 顺序栈的实现
- 顺序栈实现
- 顺序栈的实现
- 顺序栈的实现。。。。
- 顺序栈的实现
- 顺序栈的实现
- c实现顺序栈
- 栈-顺序表实现
- 顺序栈c++实现
- LAN-401信号处理模块
- 关于面向对象体系的总结
- Python访问远程服务器
- 笔记本加装SSD
- 第四届图灵杯-A.谷神的赌博游戏(概率题,排列组合,推公式)
- 顺序栈实现
- 用JS完成一个简单的省市二级联动
- 分数化小数
- [3D基础]理解计算机3D图形学中的坐标系变换
- centos 安装mysql 5.7
- 大数据量高并发的数据库优化
- Android—高级控件(三)下拉刷新
- [leetCode刷题笔记]371. Sum of Two Integers
- FreeBSD 10.3 上的构建独立版本SVN服务器