栈的顺序存储实现
来源:互联网 发布:上海移动数据流量套餐 编辑:程序博客网 时间:2024/04/19 12:48
#define StackSize 100
typedef struct
{
DataType stack[StackSize];
int top;
}SeqStack;
void InitStack(SeqStack *S)
{
S->top = 0;
}
int StackEmpty(SeqStack S)
{
if(S.top == 0)
return 1;
else
return 0;
}
int GetTop(SeqStack S, DataType *e)
{
if(S.top<=0)
{
printf("栈已经空\n");
}
else
{
*e = S.stack[S.top - 1];
return 1;
}
}
int PushStack(SeqStack *S, DataType e)
{
if(S->top >= StackSize)
{
printf("栈已满,不能进栈\n");
return 0;
}
else
{
S->stack[S->top] = e;
S->top++;
return 1;
}
}
int PopStack(SeqStack *S, DataType *e)
{
if(S->top ==0)
{
printf("栈已经没有元素,不能出栈\n");
return 0;
}
else
{
S->top--;
*e = S->stack[S->top];
return 1;
}
}
int StackLength(SeqStack S)
{
return S.top;
}
void ClearStack(SeqStack *S)
{
S->top = 0;
}
typedef struct
{
DataType stack[StackSize];
int top;
}SeqStack;
void InitStack(SeqStack *S)
{
S->top = 0;
}
int StackEmpty(SeqStack S)
{
if(S.top == 0)
return 1;
else
return 0;
}
int GetTop(SeqStack S, DataType *e)
{
if(S.top<=0)
{
printf("栈已经空\n");
}
else
{
*e = S.stack[S.top - 1];
return 1;
}
}
int PushStack(SeqStack *S, DataType e)
{
if(S->top >= StackSize)
{
printf("栈已满,不能进栈\n");
return 0;
}
else
{
S->stack[S->top] = e;
S->top++;
return 1;
}
}
int PopStack(SeqStack *S, DataType *e)
{
if(S->top ==0)
{
printf("栈已经没有元素,不能出栈\n");
return 0;
}
else
{
S->top--;
*e = S->stack[S->top];
return 1;
}
}
int StackLength(SeqStack S)
{
return S.top;
}
void ClearStack(SeqStack *S)
{
S->top = 0;
}
0 0
- 栈的顺序存储实现
- 栈的顺序存储实现
- 栈的顺序存储实现
- 栈的顺序存储实现
- 栈的顺序存储实现
- 栈的顺序存储实现
- 栈的顺序存储实现
- 栈的顺序存储结构的实现
- 栈的顺序存储的实现代码
- 栈的顺序存储的代码实现
- 顺序栈存储实现
- 顺序存储实现栈
- 栈的顺序存储实现和链式存储实现
- 栈的顺序存储结构---顺序栈的实现
- 栈的顺序存储结构实现
- 数据结构:栈的顺序存储实现
- 栈的顺序存储结构和实现
- 线性结构--->栈的顺序存储实现
- 为cocos2d-x 添加启动数字输入法的功能
- HDU 1698 Just a Hook
- Combinations
- oracle创建用户名表空间
- 关于日期的转化--把00:00:00转化城0.00小时!
- 栈的顺序存储实现
- 软件测试职业发展,到底该向何处?
- Ubuntu 配置 Tomcat
- 如何解决Delegates properties with ARC错误
- 指针定义 初始化
- C2第九次解题报告
- 搜索引擎初探
- 值得阅读学习 C 语言开源项目代码(后续添加中...)
- Using Auto Layout for iOS