数据结构 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)餐馆里装有弹簧的摞盘子的栈

posted @ 2017-05-11 11:50  皓琪  Views(535)  Comments(0)    收藏  举报