栈和队列的概念及基本操作/C++

栈和队列的概念及基本操作

一、栈

1、栈的定义:

对于由n个数据元素构成的一个线性序列,如果只允许在其指定的一端插入或删除一个数据元素,那么这种逻辑结构称为栈(Stack)或堆栈。
栈是一种”先进后出“(First In Last Out)或“后进先出”的数据结构。

2、栈的操作(stack):
头文件:
#include <stack>
基本操作:
push(x)    	//将x加入栈中,即入栈操作
pop()   	//出栈操作(删除栈顶),只是出栈,没有返回值
top()   	//返回第一个元素(栈顶元素)
size()  	//返回栈中的元素个数
empty()     //当栈为空时,返回 true
3、 使用时:

定义一个栈:
stack< int > s;
使用函数时:
s. + 函数;
例如:入栈操作 //其他函数同理
s.push(x); //x为入栈的数字

二、队列:

1、 队列的定义:

对于由N个数据元素构成的一个线性序列,如果在其固定的一端只允许插入数据元素,且在另一端只允许删除数据元素,这种逻辑结构称为队列(Queue)
队列是一种“先进先出”的数据结构(First In First Out)。

2、队列的操作:
头文件:
#include <queue>
基本操作:
push(x)     //将x压入队列的末端
pop()       //弹出队列的第一个元素(队顶元素),注意此函数并不返回任何值
front()     //返回第一个元素(队顶元素)
back()      //返回最后被压入的元素(队尾元素)
empty()     //当队列为空时,返回true
size()      //返回队列的长度    //当栈为空时,返回 true
3、使用时:

定义一个队列:
queue< int > s;
使用函数时与栈类似:
s . + 函数;
例如:入栈操作: //其他函数同理
s.push(x); //x为入栈数字

三、栈和队列示意图:

在这里插入图片描述

发布了33 篇原创文章 · 获赞 35 · 访问量 1293

猜你喜欢

转载自blog.csdn.net/qq_45856289/article/details/103190722