数据结构 C++ (一)基础数据结构 1.栈和队列
栈
1.栈的特性
后进先出 last in first out
2.栈的其他性质
1)动态集合,可以插入、删除
2)线性不循环结构
3.栈的性质推论
1)只有最上面的元素能被弹出
2)只能在最上面放置新元素
3)弹出的元素是最新压入的
4)元素弹出的顺序与压入的顺序相反
注意:
利用数组最为基层存储结构,但数组和栈的大小并没有直接联系,可能有制约关系(如果没有写数组扩充功能的话),栈的大小可以比数组小,不能比数组大。
4.栈的类实现(利用数组)
属性:
数组 stack【】 用于保存数据
int top 保存栈顶元素的数组下标
操作:
push (insert) 参数是栈名和压入数据 无返回值
{top++;
stack【top】= 压入的数值;}
pop (delete) 参数是栈名 返回弹出的栈顶元素
{top--;
返回 stack[top+1](原栈顶元素)的值}
empty 检查栈是否为空
比较top与0;
full 检查数组是否已满
若数组已满 方法一:用大的新数组代替原来的小数组??
方法二:起初就定义动态数组
5.生活中的栈结构
1)餐馆里装有弹簧的摞盘子的栈
作品原创 转载请注明出处