首页 > 试题广场 >

说一说 STL 中有哪些常见的容器

[问答题]
说一说 STL 中有哪些常见的容器
顺序容器: vector:动态数组,内存连续,末端增删性能最佳,无序 deque:双向队列,内存连续,无序 list:双向循环链表,内存不连续,无序 关联容器: set/multiset:红黑树,排序 map/multimap:红黑树,排序 适配容器: stack:先进后出 queue:先进先出 priority_queue:优先级队列
发表于 2022-07-26 11:29:45 回复(0)
vector、list、queue、deque、map、set、unorder_map、stack、priority_queue
发表于 2023-02-09 19:20:01 回复(0)
顺序容器:vector,deque,list。deque:双向队列,随机存取方便,插入删除在首尾;vector:动态数组,随机存取方便,插入删除在尾巴;list:双向链表:随机插入删除方便,随机存取麻烦;关联式容器:以平衡二叉树来实现,set,multiset;map;multimap。set中不允许存在相同元素,multiset允许存在相同元素;map与set不同在于,map只有两个成员变量,first和second,利用first的值将数据从小到大排列,multimap不同在于是否允许存在相同的first值。容器适配器:stack,queue,priority_queue.stack:先进后出,项的有限序列;queue:插入删除在尾部,检索修改从头部开始的‘priority_queue:优先级队***保优先级位于头部,第一个出列。
发表于 2022-09-27 20:07:27 回复(0)
顺序容器:vector容器、list容器、deque容器。 关联式容器:set/multiset容器、map/multimap容器。
发表于 2023-09-13 18:14:33 回复(0)
vector 动态数组,list双向链表,deque双向队列,stack栈先进后出,queue先进后出,priority_queue优先级队列
发表于 2023-04-06 21:42:16 回复(0)
顺序容器、关联式容器、容器适配器
发表于 2023-03-09 09:52:28 回复(0)
顺序容器:容器并非排序的,元素的插入位置同元素的值无关。 - vector:动态数组 元素在内存连续存放。随机存取任何元素都能在常数时间完成。在尾端增删元素具有较佳的性能。 - deque:双向队列 元素在内存连续存放。随机存取任何元素都能在常数时间完成(仅次于 vector )。在两端增删元素具有较佳的性能(大部分情况下是常数时间)。 - list:双向链表 元素在内存不连续存放。在任何位置增删元素都能在常数时间完成。不支持随机存取。 关联式容器:元素是排序的;插入任何元素,都按相应的排序规则来确定其位置;在查找时具有非常好的性能;通常以平衡二叉树的方式实现。set、multiset、map、multimap。 - set中不允许相同元素 - multiset 中允许存在相同元素 - map 根据 first 值对元素从小到大排序,并可快速地根据 first 来检索元素。map 和multimap 的不同在于是否允许相同 first 值的元素。 容器适配器:封装了一些基本的容器,使之具备了新的函数功能。 - stack:栈 栈是项的有限序列,并满足序列中被删除、检索和修改的项只能是最进插入序列的项(栈顶的项),后进先出。 - queue:队列 插入只可以在尾部进行,删除、检索和修改只允许从头部进行,先进先出。 - priority_queue:优先级队列 内部维持某种有序,然后确保优先级最高的元素总是位于头部,最高优先级元素总是第一个出列。
发表于 2024-05-21 10:07:26 回复(0)
STL有三类容器: 1、顺序容器(元素是无序的) (1)vector:动态数组,元素在内存中连续存放,随机存取都能在常数时间内完成,尾端增删具有较佳性能 (2)list:双向链表,在内存中不连续存放,增删元素能在常数时间完成,不支持随机存取 (3)deque:双向队列,性质与vector类似,两端增删元素性能较佳 2、关联式容器(元素是排序的,查找性能好) (1)set不允许重复元素、multiset允许重复元素 (2)map存键值对,键唯一。multimap键允许重复 3、容器适配器 栈stack、队列queue、优先队列priority_queue
编辑于 2024-04-08 20:03:47 回复(0)
vector不用指定大小,就可以动态分配内存;deque双向的队列、list
发表于 2024-03-18 21:42:07 回复(0)
vector : 动态数组,内存是连续的,在尾端增删元素具有较佳的性能,随机访问性能较佳 deque :双向数组(队列),元素在内存连续存放,两端的增删元素具有较佳的性能 list : 双向链表,内存不连续,增删元素性能较佳,随机存取性能较差 map : 底层红黑树实现,具有自动排序功能(根据key排序),不允许相同key存在 mutilmap : 与map 不同点在于,允许相同key存在 unordered_map : 底层哈希表实现 set/multiset : set 中不允许相同元素,multiset 中允许存在相同元素。与map不同点在于,map一个元素有两个成员,set只有一个
发表于 2023-11-11 21:08:02 回复(0)
1. 顺序容器:vector、list、array、deque 2. 关联式容器:set/multiset、map/multiMap(可以指定,让这些容器中的元素自动排序) 3.容器适配器:queue、stack、priority_queupriority_queue
发表于 2023-11-11 11:20:27 回复(0)
vector list deque queue stack set map hashset
发表于 2023-10-13 14:57:55 回复(0)
vector,list,map,unordered_map,set,deque,stack
发表于 2023-07-10 17:41:58 回复(0)
1. 序列型容器:list 双向链表 vector 动态连续空间会自动扩容 deque 双端队列 stack 容器适配器改造了双端队列,变的FIFO queue 容器适配器改造了双端队列,变的FILO 2. 关联型容器:map 按键自动排序的键值对元素 set 自动排序元素 unordered_map unordered_set 不自动排序的map set multiset multimap 允许重复元素的 set map priority_queue 优先队列,内部维持某种优先级(默认是大小)
编辑于 2022-07-30 15:40:36 回复(0)
vector 动态空间 list双向链表 创建和删除的时候都会释放或者配置空间 stack先进后出 queue先进先出
发表于 2022-05-18 11:31:32 回复(0)