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)的更多相关文章

  1. C++ 标准模板库STL 队列 queue 使用方法与应用介绍

    C++ 标准模板库STL 队列 queue 使用方法与应用介绍 queue queue模板类的定义在<queue>头文件中. 与stack模板类很相似,queue模板类也需要两个模板参数, ...

  2. Gengxin讲STL系列——Queue和Stack

    第三篇. 感觉队列和栈是必须的……所以决定加上这两个…… 我发现我已经买域名买上隐了……今天又买了个.top……真是智障…… Queue(队列FIFO)和Statk(栈LIFO). 那么为什么要这两个 ...

  3. [C++STL] 队列 queue 的入门

    队列结构 概念: 队列(queue):和栈相似,也是一种特殊的线性表.和栈不同的是,队列只允许在表的一端进行插入操作,而在另一端进行删除操作.一般来说,进行插入操作的一端称为队尾,进行删除操作的一端称 ...

  4. c++ STL:队列queue、优先队列priority queue 的使用

    说明:本文全文转载而来,原文链接:http://www.cppblog.com/wanghaiguang/archive/2012/06/05/177644.html C++ Queues(队列) C ...

  5. 队列queue(2):链表实现队列

    基本概念 队列是只允许在一端进行插入操作,另一端进行删除操作的线性表. 我们规定,允许删除的叫做队首"head",允许插入的叫做队尾"tail". 基本操作 我 ...

  6. [数据结构]——链表(list)、队列(queue)和栈(stack)

    在前面几篇博文中曾经提到链表(list).队列(queue)和(stack),为了更加系统化,这里统一介绍着三种数据结构及相应实现. 1)链表 首先回想一下基本的数据类型,当需要存储多个相同类型的数据 ...

  7. STL学习笔记6 -- 栈stack 、队列queue 和优先级priority_queue 三者比较

    栈stack  .队列queue  和优先级priority_queue 三者比较 默认下stack 和queue 基于deque 容器实现,priority_queue 则基于vector 容器实现 ...

  8. C++栈(stack)、队列(queue)、链表(list)的常用函数

    C++队列Queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构.1.back() 返回一个引用,指向最后一个元素2.empty() 如果队列空则返回真3.front() 返回第一 ...

  9. python基本数据结构栈stack和队列queue

    1,栈,后进先出,多用于反转 Python里面实现栈,就是把list包装成一个类,再添加一些方法作为栈的基本操作. 栈的实现: class Stack(object): #初始化栈为空列表 def _ ...

  10. [ACM训练] 算法初级 之 数据结构 之 栈stack+队列queue (基础+进阶+POJ 1338+2442+1442)

    再次面对像栈和队列这样的相当基础的数据结构的学习,应该从多个方面,多维度去学习. 首先,这两个数据结构都是比较常用的,在标准库中都有对应的结构能够直接使用,所以第一个阶段应该是先学习直接来使用,下一个 ...

随机推荐

  1. C语言基础--逻辑判断和循环

    目录 一.储存标识符 1.auto 2.register 3.static 4.const 二.运算符 1.逻辑运算符 2.位运算符 3.运算符 4.三元运算符 三.选择结构 1.if判断 1.1 i ...

  2. docker部署zabbix 6.0高可用集群实验

    0 实验环境 虚拟机,postgresql本地部署,zabbix server及nginx容器部署 1 postgresql 参看前作 <postgresql + timescaledb离线安装 ...

  3. MAUI Blazor 显示本地图片的新思路

    前言 好久没写文章了,水一篇 关于MAUI Blazor 显示本地图片这个问题,有大佬发过了. 就是 token 大佬的那篇 Blazor Hybrid (Blazor混合开发)更好的读取本地图片 主 ...

  4. 阿里如何实现秒级百万TPS?搜索离线大数据平台架构解读

    ★ 淘宝搜索阶段 在2008-2012这个阶段,我们重点支持淘宝搜索的业务发展,随着淘宝商品量的不断增加,逐步引入Hadoop.Hbase等开源大数据计算和存储框架,实现了搜索离线系统的分布式化,有力 ...

  5. .NET程序的 GDI句柄泄露 的再反思

    一:背景 1. 讲故事 上个月我写过一篇 如何洞察 C# 程序的 GDI 句柄泄露 文章,当时用的是 GDIView + WinDbg 把问题搞定,前者用来定位泄露资源,后者用来定位泄露代码,后面有朋 ...

  6. CF1601 题解

    偶然看这一场的题目,忽然很有感觉,于是写了一下 A 题面 考虑每一位可以单独分开考虑 考虑单独的一位,每次要选 \(m\) 个位置,可能产生贡献的位置就是这位为 1 的数,设数量为 \(x\),则 \ ...

  7. 2023牛客暑期多校训练营5 ABCDEGHI

    比赛链接 A 题解 知识点:莫队,树状数组. 区间询问显然可以离线莫队,考虑端点移动对答案的影响. 不妨先考虑右端点右移一个位置,对答案的改变.假设右端点右移后在 \(r\) ,我们先要知道 \([l ...

  8. 学好Elasticsearch系列-索引的批量操作

    本文已收录至 Github,推荐阅读 Java 随想录 微信公众号:Java 随想录 先看后赞,养成习惯. 点赞收藏,人生辉煌. 目录 基于 mget 的批量查询 基于 bulk 的批量增删改 增加 ...

  9. Nginx Ingress Contoller 通过 Envoy 代理和 Jaeger 进行分布式追踪(二)

    1.概述 在<应用程序通过 Envoy 代理和 Jaeger 进行分布式追踪(一)>一文中,我们详细介绍了单个应用程序如何通过 Envoy 和 Jaeger 实现链路追踪的过程.然而,单独 ...

  10. 6-MySQL查询条件

    在MySQL中,高级查询是指使用更复杂的查询语句和操作符来检索和操作数据库中的数据.高级查询可以帮助您更精确地找到所需的信息,并提高查询的效率和灵活性. 以下是高级查询的一些常见应用场景和意义: 连接 ...