文章目录
1、栈的基本概念
栈(Stack):限定在栈顶(表尾)进行插入(入栈)和删除(出栈)的线性表。基操作的特性是先进后出,又称为**后进先出(Last In First Out, LIFO)**的线性表。
2、栈的存储结构与基本运算
根据栈的设计存储结构的不同,一般分也顺序栈和链式栈,对应的基本运算操作也有所不同。
2-1 顺序栈存储结构与基本运算
栈的顺序存储是指分配一块连续的存储单元存放栈的元素,并同时附设一个变量(top)指向当前栈顶的位置。
栈的基本设定不一定都是相同的,这里设定top为-1时为栈空,也的设定是0为栈空。
- 栈顶指针:S.top,初始时设置为S.top = -1;
- 栈项元素:S.data[S.top];
- 进栈操作:栈不满时,栈项指针先加1,再送值到栈顶位置&