1.栈的基本概念:
1.1栈的基本概念
1.1.1栈定义
栈是一种线性表,只能从一端访问的线性群体(即:栈只能从一端插入数据,从同一端删除数据),是一种先进后出的数据结构。栈的应用:在浏览器上,点击一次后退,都是退回到最近一次浏览页面。 word 中的撤销功能也是如此。放入数据:入栈(压入栈 , push),取出数据:出栈(弹出栈,pop)。表尾称为栈顶(stackTop), 表头称为栈底(bottom)
1.1.2栈的存储结构(分为两种存储结构:顺序存储结构(本文) 和 链式存储结构)
空栈,及栈的运行规则
空栈时, 栈的top=栈的base,即栈顶=栈底
栈的结构示意图
入栈一个字符,top指针就向下移动一个位置
栈的代码结构(与链表节点不同的是:栈是一口气申请一大块内存,在top栈顶指针所指向的地址存放数据data。而节点则是有一个单独的数据域用来存放数据data,并用next指针域来索引下一个节点)
1.2创建一个空栈
思路:
- 先确定栈中元素的个数
- 为栈申请一块空间
- 将栈的top指针赋值为栈的base指针,