dataStructure->Stack
数据结构之堆栈
1 | typedef struct dataStruct |
堆栈定义
堆栈我在早年学习微机原理的时候就已接触过。在对寄存器操作的时候,为了避免某些指令对寄存器中原先的值产生影响,在执行指令前,要进行入栈push操作,会将某些寄存器的值push到内存中,执行指令之后,执行出栈pop操作,主要作用就是现场保护与现场恢复。
堆栈有一个最重要的特点就是先进后出,也就是指针始终指向栈顶。
顺序栈
结构定义
1 | typedef struct |
初始化
1 | SqStack st1; |
入栈
1 | st1.elem[++top] = elem; //++先自加 |
出栈
1 | return st1.elem[top--] ; |
多栈共享邻接空间
定义:即两个栈栈底位置为两端,两个栈顶在中间不断变化,由两边往中间延伸。
1 | typedef struct |
入栈的时候选择从左(top1)还是从右(top2)
链栈
看看定义就明白了,链表和栈合二为一
定义
1 | typedef struct node |
好处是不受固定长度限制,随用随取。
评论
评论插件加载失败
正在加载评论插件