[C++]STL - 队列(Queue) 栈(Stack) 链表(list)
STL - 队列(Queue) 栈(Stack) 链表(list)
Queue 队列
结构特征
这是一种线性储存结构
其数据有先进先出的特点
这种特点被称为FIFO(First In First Out)
可以把这种结构想象成一根管子

语法用法
定义
queue<int> q;
//queue<数据类型> 队列名称;
操作
- 入队
q.push(1);
//q.push(入队变量);
- 出队
q.pop();
上面提到过队列的 FIFO 的特性
所以这里入队只能从队首进入
出队只能从队尾出去
- 访问队首元素
q.front()
- 访问队尾元素
q.back()
- 判断队列是否为空
q.empty()
- 取队列中的元素个数
q.size()
Stack 栈
结构特征
和 Queue 对应 Stack 的特征是 LIFO(Last In First Out)
就是最先进去的被压在最下面
最后进去的可以先出去

语法用法
定义
stack<int> s;
//stack<数据类型> 栈名称;
操作
- 入栈 & 出栈
s.push(1); //入栈
s.pop(); //出栈
- 返回栈顶元素
s.top()
- 返回栈中元素个数
s.size()
- 判断栈是否为空
s.empty()
List 链表
结构特征
语法用法
定义
list<int> l1;
//list<数据类型> 链表名称;
list<int> l2(n);
//创建含有 n 个元素的list
list<int> l3(m,n);
//创建含有 m 个 n元素 的list
list<int> l4(l3);
//使用l3初始化l4
list<int> l5(l4.begin(),l4.end());
//用指针使l4初始化l5
操作
[C++]STL - 队列(Queue) 栈(Stack) 链表(list)的更多相关文章
- C++ 标准模板库STL 队列 queue 使用方法与应用介绍
C++ 标准模板库STL 队列 queue 使用方法与应用介绍 queue queue模板类的定义在<queue>头文件中. 与stack模板类很相似,queue模板类也需要两个模板参数, ...
- Gengxin讲STL系列——Queue和Stack
第三篇. 感觉队列和栈是必须的……所以决定加上这两个…… 我发现我已经买域名买上隐了……今天又买了个.top……真是智障…… Queue(队列FIFO)和Statk(栈LIFO). 那么为什么要这两个 ...
- [C++STL] 队列 queue 的入门
队列结构 概念: 队列(queue):和栈相似,也是一种特殊的线性表.和栈不同的是,队列只允许在表的一端进行插入操作,而在另一端进行删除操作.一般来说,进行插入操作的一端称为队尾,进行删除操作的一端称 ...
- c++ STL:队列queue、优先队列priority queue 的使用
说明:本文全文转载而来,原文链接:http://www.cppblog.com/wanghaiguang/archive/2012/06/05/177644.html C++ Queues(队列) C ...
- 队列queue(2):链表实现队列
基本概念 队列是只允许在一端进行插入操作,另一端进行删除操作的线性表. 我们规定,允许删除的叫做队首"head",允许插入的叫做队尾"tail". 基本操作 我 ...
- [数据结构]——链表(list)、队列(queue)和栈(stack)
在前面几篇博文中曾经提到链表(list).队列(queue)和(stack),为了更加系统化,这里统一介绍着三种数据结构及相应实现. 1)链表 首先回想一下基本的数据类型,当需要存储多个相同类型的数据 ...
- STL学习笔记6 -- 栈stack 、队列queue 和优先级priority_queue 三者比较
栈stack .队列queue 和优先级priority_queue 三者比较 默认下stack 和queue 基于deque 容器实现,priority_queue 则基于vector 容器实现 ...
- C++栈(stack)、队列(queue)、链表(list)的常用函数
C++队列Queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构.1.back() 返回一个引用,指向最后一个元素2.empty() 如果队列空则返回真3.front() 返回第一 ...
- python基本数据结构栈stack和队列queue
1,栈,后进先出,多用于反转 Python里面实现栈,就是把list包装成一个类,再添加一些方法作为栈的基本操作. 栈的实现: class Stack(object): #初始化栈为空列表 def _ ...
- [ACM训练] 算法初级 之 数据结构 之 栈stack+队列queue (基础+进阶+POJ 1338+2442+1442)
再次面对像栈和队列这样的相当基础的数据结构的学习,应该从多个方面,多维度去学习. 首先,这两个数据结构都是比较常用的,在标准库中都有对应的结构能够直接使用,所以第一个阶段应该是先学习直接来使用,下一个 ...
随机推荐
- RabbitMQ 中 exchange、route、queue 的关系
从 AMQP 协议可以看出,MessageQueue.Exchange 和 Binding 构成了 AMQP 协议的核心,下面我们就围绕这三个主要组件 从应用使用的角度全面的介绍如何利用 Rabbit ...
- C++笔记(1)——类的基本概念知识
C#和C++的部分面向对象方式类似,只记录不同点. 定义类与关键字: 下面是C++类的定义方式与C++关键字public和private的表达方式: class Box { private: // 私 ...
- Nginx配置网站默认https
Nginx配置网站默认https 一.安装Nginx yum install nginx -y 二.修改nginx.conf vim /etc/nginx/nginx.conf 配置80转443 配置 ...
- Avalonia 使用EFCore调用SQLite实现Singleton全局注册
Avalonia 使用EFCore调用SQLite实现Singleton全局注册 本篇博客是我的开源项目TerraMours.Chat.Ava的更新的记录分享,本次更新使用EntityFrameWor ...
- 利用python分析pdf数据,分析上市公司财报
import re import os.path import matplotlib import matplotlib.pyplot as plt from pdfminer.pdfparser i ...
- Linux中对管道命令中的任意子命令进行返回码校验
~~ linux return code with pipeline~~ ~~ linux 管道命令中的返回码~~ BASH SHELL中,通常使用 $? 来获取上一条命令的返回码. Shell Sc ...
- 小版本更新kubernetes
小版本更新kubernetes 背景 最近一段时间躺平了没有更新我的博客文档.感谢各位小伙伴一直以来的支持. 此脚本基于 https://github.com/cby-chen/Kubernetes/ ...
- pycharm+anaconda的关联
Pycharm+anaconda的关联 关联好处:Pycharm和anaconda关联后,pycharm可以直接调用anaconda中已安装好的模块,而anaconda里安装和卸载模块都比较方便. 关 ...
- 2023-08-22:请用go语言编写。给定一个长度为N的正数数组,还有一个正数K, 返回有多少子序列的最大公约数为K。 结果可能很大,对1000000007取模。 1 <= N <= 10^5, 1
2023-08-22:请用go语言编写.给定一个长度为N的正数数组,还有一个正数K, 返回有多少子序列的最大公约数为K. 结果可能很大,对1000000007取模. 1 <= N <= 1 ...
- Vuetify使用本地图标资源
Vuetify使用本地图标资源 修改/public/index.html 删除下面两行引用 <link rel="stylesheet" href="https:/ ...