浅析顺序结构存储的栈

这篇文章主要介绍了顺序结构存储的栈,有需要的朋友可以参考一下

栈定义:仅限在表尾进行插入和删除的线性表

栈的特点:

1)一般来说能在表尾进行进栈和出栈的数据

2)先进后出(last in first out )

3)栈会有栈顶,栈底,通常栈底为高地址,栈顶为高地址,如下图所示

操作系统一般会在内存划出一块,专门用于栈操作,当然这个跟普通的操作有些区别:比如存放数组,地址是增加的;但是在存入数据到栈,地址则是不断减小的

栈的存储结构:

复制代码 代码如下:

typedef struct _SQSTACK
{
 SElemType* base;
 SElemType* top;
 int stacksize;
}
SqStack;

数据定义:

复制代码 代码如下:

//默认的存储空间的大小和空间增长大小
#define STACK_INIT_SIZE 100
#define STACK_INCREMENT 10

//存储数据的类型定义
#ifndef INT_TYPE
#define INT_TYPE
#endif // INT_TYPE

#ifdef INT_TYPE
typedef  int  SElemType;
#elif defined FLOAT_TYPE
typedef  float SElemType;
#elif defined STRING_TYPE
typedef  char* SElemType;
#elif defined STRUCT_TYPE
typedef  void* SElemType;
#endif

以上就是浅析顺序结构存储的栈的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » C语言