栈和队列的简单讲解和函数用法

来源:互联网 发布:郭富城 小美 知乎 编辑:程序博客网 时间:2024/05/22 08:15

栈和队列的简单ppt(不过里面讲的是C语言的栈和队列,C语言的栈和队列函数有点复杂):

http://wenku.baidu.com/view/54908be881c758f5f61f674d.html

栈(Stack)又称堆栈,它是一种运算受限的线性表,其限制是仅允许在表的一端进行插入和删除运算。人们把此端称为栈顶,栈顶的第一个元素被称为栈顶元素,相对地,把另一端称为栈底。向一个栈插入新元素又称为进栈或入栈,它是把该元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称为出栈或退栈,它是把栈顶元素删除掉,使其下面的相邻元素成为新的栈顶元素。所以又把栈称为后进先出表(Last In First Out,简称LIFO

如下所示:


栈的头文件

#include<stack>

定义栈如下:

stack<int> stk;

栈的基本操作:

s.empty()               如果栈为空返回true,否则返回false  s.size()                返回栈中元素的个数  s.pop()                 删除栈顶元素但不返回其值  s.top()                 返回栈顶的元素,但不删除该元素  s.push()                在栈顶压入新元素  

队列

 队列(Queue)简称队,它也是一种运算受限的线性表,其限制是仅允许在表的一端进行插入,而在表的另一端进行删除。我们把进行插入的一端称作队尾(rear),进行删除的一端称作队首(front)。向队列中插入新元素称为进队或入队,新元素进队后就成为新的队尾元素;从队列中删除元素称为离队或出队,元素离队后,其后继元素就成为队首元素。由于队列的插入和删除操作分别是在各自的一端进行的,每个元素必然按照进入的次序离队,所以又把队列称为先进先出表(First In First Out, 简称FIFO)。
如下所示:


队列的头文件
#include<queue>

定义队列如下:

queue<int> q;

队列的几种基本操作:
q.empty()               如果队列为空返回true,否则返回false  q.size()                返回队列中元素的个数  q.pop()                 删除队列首元素但不返回其值  q.front()               返回队首元素的值,但不删除该元素  q.push()                在队尾压入新元素  q.back()                返回队列尾元素的值,但不删除该元素  


0 0
原创粉丝点击