(C++)有一个类型是vector的map容器要怎么写啊?
2个回答
展开全部
容器用来存储数据的,数据可以是用户自定义类型(对象),也可以是预定义类型,c++中的容器主要使用如vector,list
(顺序容器)
这些都是已经封装好了的,包含头文件"vector","list",通过迭代器iterator访问容器中的数据,map,set(关联容器),关联容器map键值对形式出现key-value,key唯一,mutimap多映射可以不唯一;set是一个单一值的集合,如1,2,3,4
顺序容器:vector,list
分别举例
对比
vector容器的特点:在内存中是一片连续的存储区域,初始化的时候,可以指定容量,比如如果定义容量50
的容器存储
60个string对象,由于初始容量不足60,容器将会重新定义一个容量是原来的2倍新容器,然后拷贝原容器的对象到新容器.
读取速度快,插入删除效率低.如果仅仅在容器头或尾部
进行增删改,推荐使用deque,专门提供了对首尾的操作.
list容器特点:相当数据结构的链表,不是一个连续的存储区域,插入,删除很方便,但是查询速度慢
vector
vec
就是定义了一个vector容器,可以通过
vec.push_back(),
push_font(),insert(position,value)
想vector中添加一个指定值
list
ilist<初始大小,默认赋值>
list
ilist(20
-1)
初始20个值为-1的list
然后操作可以参考这些这些类封转的方法。
关联容器:set
map
mutimap
mutiset
key-->value形式
1--1
2--2
3--3
set
形式
1234,键值唯一;
具体容器的操作方法,可以调用其成员函数.
(顺序容器)
这些都是已经封装好了的,包含头文件"vector","list",通过迭代器iterator访问容器中的数据,map,set(关联容器),关联容器map键值对形式出现key-value,key唯一,mutimap多映射可以不唯一;set是一个单一值的集合,如1,2,3,4
顺序容器:vector,list
分别举例
对比
vector容器的特点:在内存中是一片连续的存储区域,初始化的时候,可以指定容量,比如如果定义容量50
的容器存储
60个string对象,由于初始容量不足60,容器将会重新定义一个容量是原来的2倍新容器,然后拷贝原容器的对象到新容器.
读取速度快,插入删除效率低.如果仅仅在容器头或尾部
进行增删改,推荐使用deque,专门提供了对首尾的操作.
list容器特点:相当数据结构的链表,不是一个连续的存储区域,插入,删除很方便,但是查询速度慢
vector
vec
就是定义了一个vector容器,可以通过
vec.push_back(),
push_font(),insert(position,value)
想vector中添加一个指定值
list
ilist<初始大小,默认赋值>
list
ilist(20
-1)
初始20个值为-1的list
然后操作可以参考这些这些类封转的方法。
关联容器:set
map
mutimap
mutiset
key-->value形式
1--1
2--2
3--3
set
形式
1234,键值唯一;
具体容器的操作方法,可以调用其成员函数.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询