数据结构:STL:queue stack

目录

1.queue的头文件

2.queue的定义

3.queue的常用函数

[3.1 push()](#3.1 push())

[3.2 pop()](#3.2 pop())

[3.3 size()](#3.3 size())

[3.4 empty()](#3.4 empty())

[3.5 front()](#3.5 front())

[3.6 back()](#3.6 back())

4.stack的头文件

5.stack的定义

6.stack的常用函数

[6.1 push()](#6.1 push())

[6.2 top()](#6.2 top())

[6.3 pop()](#6.3 pop())

[6.4 size()](#6.4 size())

[6.6 empty()](#6.6 empty())


STLf封装的queue也是十分的强大,一个queue不但可以实现队列,还可以实现循环队列。、

1.queue的头文件

复制代码
#include<queue>

2.queue的定义

queue的定义和vector没什么不同

复制代码
queue<类型名>变量名;

类型可以是int,double等基本数据类型,也可以是自定义的结构体,也可以是STL容器。

复制代码
queue<int>q;
queue<double>q;
queue<char>q;
queue<char,list<char>>q;

3.queue的常用函数

3.1 push()

push()在队尾插入一个元素

复制代码
queue<int>q;
q.push(1);
q.push(2);
cout<<q.front()<<endl;

输出:

复制代码
1

3.2 pop()

pop()删除队首元素

复制代码
qqueue<int>q;
q.push(1);
q.push(2);
q.pop();
cout<<q.front()<<endl;

输出:

复制代码
2 //1已经被删除掉

3.3 size()

size()返回队列中元素个数

复制代码
1
0

queue<int>q;
q.push(1);
q.push(2);
cout<<q.size()<<endl;

输出:

复制代码
2

3.4 empty()

empty()判断队列是否为空,如果队列为空返回true

复制代码
queue<int>q;
cout<<q.empty()<<endl;
q.push(1);
q.push(2);
cout<<q.empty()<<endl;

输出:

复制代码
1
0

3.5 front()

front()返回队首元素

复制代码
queue<int>q;
q.push(1);
q.push(2);
q.push(3);
cout<<q.front()<<endl;
q.pop();
cout<<q.front()<<endl;

输出:

复制代码
1
2

3.6 back()

back()返回队尾元素

复制代码
queue<int>q;
q.push(1);
q.push(2);
cout<<q.back()<<endl;

输出:

复制代码
2

4.stack的头文件

复制代码
#include<stack>

5.stack的定义

复制代码
stack<类型名>变量名;

类型可以是int,double等基本数据类型,也可以是自定义的结构体,也可以是STL容器。

6.stack的常用函数

6.1 push()

push()将元素压入栈中

复制代码
stack<int>st;
st.push(1);
st.push(2);

6.2 top()

因为栈是一种先进后出的数据结构,我们只能访问栈顶元素

复制代码
stack<int>st;
st.push(1);
st.push(2);
cout<<st.top()<<endl;

输出:

复制代码
2

6.3 pop()

pop()用来弹出栈顶元素

复制代码
stack<int>st;
st.push(1);
st.push(2);
cout<<st.top()<<endl;
st.pop();
cout<<st.top()<<endl;

输出:

复制代码
2
1

6.4 size()

size()返回栈中元素个数

复制代码
stack<int>st;
st.push(1);
st.push(2);
st.push(3);
cout<<st.size()<<endl;

输出:

复制代码
3

6.6 empty()

empty()用来判断栈是否为空,为空返回1,表示true;不为空返回0,表示false

复制代码
stack<int>st;
cout<<st.empty()<<endl;
st.push(1);
st.push(2);
cout<<st.empty()<<endl;

输出:

复制代码
1
0
相关推荐
青少儿编程课堂35 分钟前
蓝桥杯青少组图形化 + 全国青少年信息素养大赛 + 电子学会Scratch考级:校园连连看解析
c++·python·算法·bfs·信息学竞赛
草莓熊Lotso1 小时前
【C++ 基于微服务的即时通讯系统】文件存储子服务实战:UUID生成、文件IO封装与全接口单元测试
开发语言·网络·数据库·c++·微服务·架构·单元测试
zaizai10072 小时前
算法(左程云)1
数据结构
charliejohn3 小时前
计算机考研 408 数据结构 图论-关键路径
数据结构·图论
David猪大卫18 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
HPtiger19 小时前
C++ 入门笔记:从 C 到 C++ 的核心过渡(命名空间、输入输出、缺省参数、重载、引用、内联)
c语言·c++·学习
vvilkim20 小时前
数据结构类型、区别与应用场景:一篇讲透选型逻辑
数据结构
努力努力再努力wz21 小时前
【Lua 进阶系列】从 C++ 对象到 Lua 变量:一文理解 userdata、Lua 栈与元表绑定机制
c++·junit·lua
慧都产品智能化1 天前
Qt 表格升级攻略:复用已有编辑器,减少重复开发
c++·qt·编辑器·qt6.3