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. 将SQL从phpmyadmin导入到自己的Navicat

    数据库名称太有指向性了 容易把自己给干没了 一码得码的一塌糊涂 就不放图了 进入你的phpmyadmin 注意一定要好好的进到数据库里面 点击导出 如果提示是 正在导出数据库"{你的数据库名 ...

  2. c语言分析和循坏对应的汇编定义格式(Debug版本)

    c语言if单分支结构所对应的汇编代码结构 #include "stdafx.h" int main(int argc, char* argv[]) { if(argc > 8 ...

  3. quarkus实战之三:开发模式(Development mode)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 前文咱们曾提到过几种启动方式,有一种用mav ...

  4. zabbix 添加 zabbix_agentd 服务

    创建服务文件 # /usr/lib/systemd/system/zabbix-agent.service [Unit] Description=Zabbix Agent After=syslog.t ...

  5. KVM vm time setting

    - config file $ grep clock vm02.xml <clock offset='utc'> </clock> - NTP server $ s vm02 ...

  6. Docker本地搭建个人企业私有云盘seafile搭建(完美解决ONLYOFFICE无法预览的情况)

    seafile搭建 #创建存放路径 mkdir -p /media/megrez/data/seafile/seafile-mysql/db mkdir -p /media/megrez/data/s ...

  7. 语音合成技术3:HierVST: Hierarchical Adaptive Zero-shot Voice Style Transfer

    HierVST: 分层自适应零样本语音风格转换 摘要: 尽管语音风格转换(VST)领域取得了快速进展,但最近的零样本VST系统仍然缺乏将新的说话者的语音风格进行转换的能力.在本文中,我们提出了Hier ...

  8. 【日常踩坑】解决 pip 安装第三方包时因 SSL 报错

    目录 踩坑 什么是 SSL ? 为什么会报错 解决办法 1. 临时关闭代理.VPN 或者网络抓包等软件 2. 通过镜像的 HTTP 源来避免 SSL 认证问题 3. 切换至低版本 pip 参考资料 踩 ...

  9. 请大家一定不要像我们公司这样打印log日志

    前言 最近接手了公司另一个项目,熟悉业务和代码苦不堪言. 我接手一个新项目,有个习惯,就是看结构,看数据库,搜代码. 其中搜代码是我个人这些年不知不觉形成的癖好,我下面给大家展示下这个小癖好. 正文 ...

  10. mount时候遇到写保护,将以只读方式挂载

    mount时候遇到写保护,将以只读方式挂载 遇到 mount: 未知的文件系统类型"(null)" [root@localhost ~]# mount /dev/sdb /mnt/ ...