搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
爱喝兽奶帝天荒
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
微信小程序从后端获取音频数据流并播放
2
Spring Boot 3.x Web单元测试最佳实践_springboot3.x单元测试
3
关于UPS电池和UPS电源的相关问题解答_ups电源和ups电池区别
4
大数据毕业设计:音乐数据爬虫可视化系统 网易云 大数据+大屏 (源码+论文)✅_python可视化大屏展示音乐项目制作计算机毕业设计大
5
比肩GPT4,没有显卡也能用Llama-3.1-405B_llama3.1 8b 没有显卡
6
京东面试Java后台--2018年9月16号(星期日)_京东 java 笔试题
7
基于Springboot的结合疫情情况的婚恋系统。Javaee项目,springboot项目。
8
理解安全组与防火墙的关系:云安全的双重保障
9
C语言学习——函数递归_递归函数里临时变量
10
如何构建高效的AI技术架构:企业、政府、大众用户的智能化未来?_客户技术架构
当前位置:
article
> 正文
C++基础(13)——STL(stack、queue、list)_stl queue list
作者:爱喝兽奶帝天荒 | 2024-08-19 09:34:30
赞
踩
stl queue list
前言
本文主要介绍C++中STL中的stack、queue和list容器
7.5:stack容器
7.5.1
:stack容器基本概念
栈中只有顶端元素才可以被外界调用,因此栈不允许有遍历的行为,其中string、vector、deque都可以遍历
7.5.2
:栈的常用接口(push、pop、top、empty、size、operator=)
7.6:queue容器
7.6.1
:queue的基本概念
队列中队头出数据,队尾进数据,且和栈一样不允许有遍历操作
7.6.2
:queue的常用接口(push、pop、front、back、size、empty)
queue容器装入自定义数据类型数据
7.7:list容器(双向循环链表)
7.7.1
:list基本概念
链表由一系列的结点组成,结点是由数据域和指针域所组成。
链表优缺点
优点:
可以对任意位置数据进行插入或删除
缺点:
访问速度较慢、占用更大的空间
STL中的list是一个双向循环链表,
list的迭代器是双向迭代器,不能跳跃式访问
相对于vector,经过插入或删除操作list原有的迭代器都不会失效,而vector的迭代器可能会失效。
因为当vector容器插入数据量过大,那么系统会重新给vector分配空间,这时原有数据保存的位置都会发生改变,原有迭代器就会失效。删除也同理。
7.7.2
:list的构造函数(无参构造、拷贝、区间、指定多个相同数据)
7.7.3
:list的赋值和交换(operator=、assign、swap)
7.7.4
:list大小操作(size、empty、resize)
在使用resize的时候出现了一点问题,使用resize进行缩小的时候会报错,正常将list放大不会报错
这时我想用resize进行缩小一下,让链表的长度变为2,这时会报错
我看了看resize的原型,一个参数的版本是灰色的,被注释掉了
在类中给构造函数指定默认参数就可以解决,编译可以通过,可以正常打印
不指定默认参数可也可以,制定一个对象就好了,本质还是调用了两个参数的resize方法
7.7.5
:list插入和删除(push_back、push_front、pop_back、pop_front、insert、clear、erase、remove)
在使用remove的时候又遇到了一些问题,说是无法比较两个对象,其实就是要对==进行运算符重载
在Person类中对==进行运算符重载
使用remove删除符合的全部对象
7.7.6
:list容器数据存取(front、back)
判断一个容器的叠加器是否支持随机访问,可以验证叠加其是否重载了operator+或者operator-。如果重载了,那么就支持随机访问,不支持随机访问迭代器的容器不能使用标准算法。
7.7.7
:list容器元素翻转和排序(reverse、sort)
要对Person类的
<运算符
进行重载才可以正常编译,默认使用的sort是升序
想要让list是降序排列,要写一个回调函数
总结
以上就是本文的全部内容,非常感谢你能看到这
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/1001723
推荐阅读
article
Java
中常见
的
几种
数据结构
_栈(
stack
)
是
限制
插入
和
删除
只能在
一个
位置
上进行
的
表,该
位置
是
表...
栈(
stack
)栈(
stack
)
是
限制
插入
和
删除
只能在
一个
位置
上进行
的
表,该
位置
是
表
的
末端,叫做栈顶(top)。它
是
后进...
赞
踩
article
[
数据结构
]——
链表
(
list
)、
队列
(
queue
)
和
栈(
stack
)...
在前面几篇博文中曾经提到
链表
(
list
)、
队列
(
queue
)
和
(
stack
),为了更加系统化,这里统一介绍着三种
数据结构
...
赞
踩
article
2021-03-
18
-C++学习之17-
stack
、
queue
、
list
_
queue
list
c+...
一、
stack
容器1.
stack
基本概念
stack
是一种先进后出(First In Last Out, FILO)的数...
赞
踩
article
C++常用的容器:
vector
、
string
、
deque
、
stack
、
queue
、
list
、set、...
本文详细介绍了
vector
、
string
、
deque
、
stack
、
queue
、
list
、set、map以及pair对组的...
赞
踩
article
【
C++
】
stack
/
queue
/
list
_
c++
queue
list
如何选择...
【
C++
】
stack
/
queue
/
list
_
c++
queue
list
如何选择
c++
queue
list
如何选择 ...
赞
踩
article
数据结构
二:表
(
list
)、栈
(
stack
)、队列
(
Queue
)_
list
是栈吗...
一、表
(
list
) 概念:形如A0,A1,A2,…,An-1的一般表,表大小n,大小为0的特殊的表位空表
(
empty l...
赞
踩
article
数据结构
——
栈
(
Stack
)与
队列
(
Queue
)
的
手写实例_
栈
手写...
文章目录一、
栈
与
队列
的
定义二、 用数组实现
栈
1、
栈
的
接口定义2、
栈
的
接口实现3、
栈
的
测试三、 用数组实现
队列
1、
队列
的
...
赞
踩
article
java
中常见的
数据结构
(list,
stack
,
queue
,linked,hashTable,tre...
本文详细介绍了
数据结构
中的核心概念,包括数组、链表、栈、队列、哈希表和二叉树。数组提供随机访问但增删不便,链表则擅长增删...
赞
踩
article
STL
—
—
list
、
stack
与
queue
_
c++
中
list
和
queue
区别...
STL
—
—
list
、
stack
与
queue
_
c++
中
list
和
queue
区别
c++
中
list
和
queue
区别 ...
赞
踩
article
STL中常用的
容器
——
stack
,
queue
和
list
容器
_
stack
容器
中
元素
的进出顺序是
先进先出
...
一,
stack
容器
1,
stack
容器
概述:
stack
是一种先进后出(First In Last Out,FILO)的数...
赞
踩
article
stl
map
list
queue
等容器的常用方法 (自我总结)_
map
queue
头文件
...
以下均不为完整程序
map
:#include
map
::iterator it,it1,it2; //定义迭代器
map
dt;...
赞
踩
article
C++
STL
(
queue
和
list
)_
queue
c++
list
...
STL
中的链表是一个双向循环链表,由于链表的存储方式并不是连续的内存空间,因此链表
list
中的迭代器只支持前移和后移,属...
赞
踩
article
【
c++
】
std
list
和
std
queue
的
区别_
std
:
:
queue
std
:
:
list
...
本文介绍了C++ STL中
std
:
:
list
和
std
:
:
queue
的
区别,包括它们
的
数据结构、主要操作、用途和性能考虑。...
赞
踩
article
STL
中
vector
、
list
、
deque
的
区别_
deque
vs
vector
...
1
vector
向量 相当于一个数组 在内存中分配一块连续
的
内存空间进行存储。支持不指定
vector
大小
的
存储。
STL
内...
赞
踩
article
2021年11月16日 C++ STL
queue
&&
list
&&
set
_
c++
std
queue
...
queue
构造函数:
queue
que; "
queue
采用模板类实现,
queue
对象的默认构造形式"
queue
(c...
赞
踩
article
LeetCode
759.
Employee
Free
Time
-
优先级
队列(Priority ...
给定一个二维数组schedule表示员工工作时间,求所有员工公共的空闲时间。这题可以看作是253. Meeting Ro...
赞
踩
article
Day29
: 134. Gas
Station
, 135.
Candy
, 860.
Lemonade
...
做题情况:这题之前做过,看了一下答案,还是蛮简单的。先处理从左到右的情况,再处理从右到左的情况,这样就能保证每一个胃口比...
赞
踩
article
Python
数据结构
之链表(
linked
list
)...
Python
数据结构
之链表一、链表的基本知识最近在leetcode刷题时遇到了几道关于链表的题,于是恶补了一下关于链表的...
赞
踩
article
Android
蓝牙
协议
栈fluoride(七) - 设备管理(bt
stack
)_
android
蓝...
设备管理
stack
层实现与整理流程_
android
蓝牙
协议
栈
android
蓝牙
协议
栈 ...
赞
踩
article
GPU
Stack
正式发布: 为大
模型
而生的开源
GPU
集群管理器_
gpu
stack
...
GPU
Stack
正式发布并开源,一个用于运行 LLM(大型语言
模型
)的开源
GPU
集群管理器。_
gpu
stack
g...
赞
踩
相关标签
Java
数据结构
数据结构与算法
sketch
git
c++
开发语言
list
算法
栈
队列
java
b树
queue
stack
stl