栈的顺序存储结构(数组)
来源:互联网 发布:计算一组数据的标准差 编辑:程序博客网 时间:2024/05/21 09:15
# include<iostream># include<cstdlib>using namespace std;# define OK 0# define RERRO 1# define MAXSIZE 20# define TURE 1# define FALSE 0typedef int Status;typedef int ElemType;typedef struct{ElemType data[MAXSIZE];int top;}sqStack, * psqStack;Status InitStack(psqStack *);Status DestroyStack(sqStack *);Status ClearStack(sqStack *);Status PushStack(psqStack, ElemType);Status PopStack(psqStack, ElemType *);int main(){sqStack L;psqStack S = &L;ElemType e;InitStack(&S);for (ElemType i = 0; i < MAXSIZE; i++)PushStack(S, i);for (ElemType i = 0; i <= S->top; i++)cout << S->data[i] << endl;PopStack(S, &e);for (ElemType i = 0; i <= S->top; i++)cout << S->data[i] << endl;ClearStack(S);for (ElemType i = 0; i <= S->top; i++)cout << S->data[i] << endl;DestroyStack(S);system("pause");return 0;}//创建栈Status InitStack(psqStack * S){*S = (sqStack*)malloc(sizeof(sqStack));(*S)->top = -1;return OK;}//销毁栈Status DestroyStack(sqStack * S){sqStack * q;q = S;free(q);q = NULL;return OK;}//清空栈Status ClearStack(sqStack * S){sqStack * q = S;for (int i = 0; i < MAXSIZE; i++){q->data[i] = NULL;}q->top = -1;return OK;}//判断栈是否为空Status StackEmpty(sqStack S){if (S.top = -1)return TURE;elsereturn FALSE;}//压栈Status PushStack(psqStack S, ElemType e){if (S->top >= 19)return FALSE;S->top++;S->data[S->top] = e;return OK;}//出栈Status PopStack(psqStack S, ElemType *e){if (S->top <= -1)return FALSE;*e = S->data[S->top];S->top--;return OK;}
0 0
- 栈的顺序存储结构(数组)
- 栈的顺序存储结构和操作实现 数组实现
- 栈的顺序存储结构
- 栈的顺序存储结构
- 栈的顺序存储结构
- 栈的顺序存储结构
- 栈的顺序存储结构
- 栈的顺序存储结构
- 栈的顺序存储结构
- 栈的顺序存储结构
- 栈的顺序存储结构
- 栈的顺序存储结构
- 顺序栈:栈的顺序存储结构
- 顺序存储结构(栈)
- 数据结构之线性结构的顺序存储(数组)
- 线性表的顺序存储结构--用数组实现
- 栈的顺序存储结构和链式存储结构
- 栈的顺序存储结构和链式存储结构
- 链表各类操作详解
- C++面试笔试经典题集
- HDU 5202 Rikka with string (水DFS)
- 信号量的PV操作
- AsyncTask引发的问题
- 栈的顺序存储结构(数组)
- myeclipse安装、优化与插件安装
- 单线程实例区别Thread和Runnable方法
- AngularJS入门案例
- JSONObject与JSONArray的使用-解析Json
- 【整理】LINUX下使用CMAKE安装MYSQL
- JAVA CAS原理深度分析
- 黑马程序员--OC Bolck笔记
- 恢复输入框的默认值