栈的生成,进栈,出栈指令
来源:互联网 发布:路由器wifi网络延迟高 编辑:程序博客网 时间:2024/06/04 19:01
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#define ElemType int
#define stacksizemax 100
#define increase 10
#define OK 0
#define ERROR 1
#define OVERFLOW 1
typedef struct
{
ElemType *top;
ElemType *base;
int stacksize;
}Sq;
int InitStack(Sq &S)
{
S.base= (ElemType *)malloc (stacksizemax*sizeof (ElemType));
if(!S.base) exit (OVERFLOW);
S.top= S.base;
S.stacksize= stacksizemax;
returnOK;
}
int Push(Sq &S, ElemType e)
{
if (S.top-S.base>=S.stacksize) //栈满
{
S.base=(ElemType *)realloc(S.base,(S.stacksize+increase)* sizeof(ElemType));
if (!S.base)
exit (OVERFLOW);
S.top = S.base + S.stacksize;
S.stacksize+=increase;
} // if
*S.top++ = e;
return OK;
} //Push
int Pop(Sq&S, ElemType&e) {
if(S.top == S.base)
return ERROR;
e = * (-- S.top);
printf("%d",e);
return OK;
}//Pop
int main()
{
Sq S;
InitStack(S);
ElemType e=5;
Push(S,e);
Pop(S,e);
return 0;
}
- 栈的生成,进栈,出栈指令
- 生成所有的出栈序列 (回溯法)
- 词典序法生成出栈序列
- 出栈的可能性
- 出栈的合法性
- 进栈,出栈的详细知识
- ARM的栈指令
- “后进先出”的栈
- 出栈序列的统计
- navigaiton的出栈方式
- “后进先出”的栈
- 不可能的出栈顺序
- 出栈序列的统计
- 出栈序列的合法性
- 出栈序列的遍历
- 出栈序列的统计
- 出栈问题的讨论
- 出栈的合法性检测
- LeetCode 412. Fizz Buzz 题解(C++)
- BZOJ 3631 链剖+差分
- jQuery整体架构源码解析
- 大型网站是怎样解决多用户高并发访问
- HDU 5908 Abelian Period
- 栈的生成,进栈,出栈指令
- Windows环境下编译SOFA源码
- 数据结构与算法之栈的应用“逆波兰表达式法”
- MySQL配置文件详解
- 设计模式--观察者模式
- java.lang.IllegalStateException异常产生的原因及解决办法
- java并发临界资源管理
- JQuery实现的登陆注册页面表单
- test