1 / 116
文档名称:

数据结构——栈与队列.ppt

格式:ppt   大小:1,234KB   页数:116页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构——栈与队列.ppt

上传人:zbfc1172 2018/6/1 文件大小:1.21 MB

下载得到文件列表

数据结构——栈与队列.ppt

相关文档

文档介绍

文档介绍:3 栈与队列
主要内容

栈的应用
队列
队列的应用
2
栈与队列
栈与队列
栈和队列是在程序设计中被广泛使用的两种线性数据结构。
与线性表相比,它们的插入和删除操作受更多的约束和限定,故又称为限定性的线性表结构。
3
栈与队列

栈:限定仅只能在末端进行插入和删除的线性表。
栈顶:允许插入和删除的一端。
栈底:不允许插入和删除的一端。
时间有序表:先进后出(FILO) /后进先出(LIFO)
an-1
an-2

a1
a0
bottom
top
退栈
(弹出)
进栈
(压入)
4
栈与队列
栈的基本操作
● clear()——清空栈。
● isEmpty()——判断栈是否为空。
● push(el)——将元素el放到栈的顶部。
● pop()——取出栈顶部的元素。
● topEl()——获取栈顶部的元素,但不删除该元素。
5
栈与队列
top=0
1
2
3
4
5
0
栈空
栈顶指针top,指向实际栈顶
后的空位置,初值为0
top
1
2
3
4
5
0
进栈
A
top
出栈
栈满
B
C
D
E
F
设数组大小为M
top=0,栈空,此时出栈,则下溢(underflow)
top=M,栈满,此时入栈,则上溢(overflow)
top
top
top
top
top
1
2
3
4
5
0
A
B
C
D
E
F
top
top
top
top
top
top
栈空
6
栈与队列
栈的表示和实现
顺序方式
链式方式
7
栈与队列
顺序表示的栈的实现
top
空栈: top == -1
MaxTop = = 4
top
A
top
A
B
A
B
C
top
top
A
B
C
D
3
1
2
0
8
栈与队列
栈的初始化操作
0 1 2 MaxTop-1
top
template<class T>
Stack<T>::Stack(int MaxStackSize){
MaxTop=MaxStackSize-1;
stack=new T[MaxStackSize];
top=-1;
}
9
栈与队列
进栈操作
0 1 2 maxSize-1
top
b
a
0 1 2 maxSize-1
top
b
a
c
template<class T>
Stack<T>& Stack<T>::Add(const T& x){
if(IsFull())
{cout<<"no memory;"<<endl;return *this;}
top=top+1;
stack[top]=x;
return *this;
}
10
栈与队列