栈的顺序存储结构及实现
来源:互联网 发布:sql 带游标的存储过程 编辑:程序博客网 时间:2024/04/30 17:48
/*栈的顺序存储结构及实现*/
//顺序栈的存储结构定义
const int StackSize = 10; //栈元素最多10个
typedef int DataType; //DataType为栈元素的数据类型
typedef struct
{
DataType data[StackSize]; //存放栈元素的数组
int top; //栈顶指针,为栈元素在数组中的下标
}SeqStack;
//栈的初始化算法
void InitStack(SeqStack &S)
{
S.top = -1;
}
//入栈操作
void Push(SeqStack &S,DataType x)
{
if(S.top == StackSize - 1)
{
printf("上溢");
exit(-1);
}
S.data[++S.top] = x;
}
//出栈操作
DataType Pop(SeqStack &S)
{
if(S.top == -1)
{
printf("下溢");
exit(-1);
}
x = S.data[S.top--];
return x;
}
//取栈顶元素
DataType GetTop(SeqStack &S)
{
if(S.top == -)
{
printf("下溢");exit(-1);
}
return S.data[S.top];
}
//判空操作
int Empty(SeqStack &S)
{
if(S.top == -1)
return 1; //空栈返回1
else
return0;
}
//顺序栈的存储结构定义
const int StackSize = 10; //栈元素最多10个
typedef int DataType; //DataType为栈元素的数据类型
typedef struct
{
DataType data[StackSize]; //存放栈元素的数组
int top; //栈顶指针,为栈元素在数组中的下标
}SeqStack;
//栈的初始化算法
void InitStack(SeqStack &S)
{
S.top = -1;
}
//入栈操作
void Push(SeqStack &S,DataType x)
{
if(S.top == StackSize - 1)
{
printf("上溢");
exit(-1);
}
S.data[++S.top] = x;
}
//出栈操作
DataType Pop(SeqStack &S)
{
if(S.top == -1)
{
printf("下溢");
exit(-1);
}
x = S.data[S.top--];
return x;
}
//取栈顶元素
DataType GetTop(SeqStack &S)
{
if(S.top == -)
{
printf("下溢");exit(-1);
}
return S.data[S.top];
}
//判空操作
int Empty(SeqStack &S)
{
if(S.top == -1)
return 1; //空栈返回1
else
return0;
}
阅读全文
1 0
- 栈的顺序存储结构及实现
- Java基础 - 栈的顺序存储结构及实现
- 栈的顺序存储结构操作及实现
- 栈的顺序存储结构的实现
- 栈的顺序存储结构实现
- 栈的顺序存储结构和实现
- 线性结构--->栈的顺序存储实现
- 栈的顺序存储结构以及实现
- Java基础 - 队列的顺序存储结构及实现
- 循环队列的顺序存储结构及实现
- 栈的顺序存储结构---顺序栈的实现
- 数据结构--顺序存储结构及抽象实现
- 栈的顺序存储及实现
- 栈的顺序存储结构和操作实现 数组实现
- 栈的顺序存储及链式存储的分别实现
- 栈的链式存储结构及实现
- 栈的链式存储结构及实现
- 栈的链接存储结构及实现
- 《高级软件工程》学习总结
- Maven安装与配置
- 关于混淆。。。
- 关于python爬取指定网页的图片
- Oracle那些事(10)-scott用户的简单使用
- 栈的顺序存储结构及实现
- recycleview的基本使用以及在使用时遇到的问题
- android studio遇到的一些问题
- php-fpm.conf重要参数详解
- AQS原理与源码
- 更换pip源
- 关于matplotlib的那些事
- Sublime Text + CTags + Cscope (部分替代Source Insight)
- vs和vc智能指针(smart_ptr)框架源码剖析