为了账号安全,请及时绑定邮箱和手机立即绑定

c++程序中的map容器一般都是怎样初始化的 ?

/ 猿问

c++程序中的map容器一般都是怎样初始化的 ?

阿波罗的战车 2018-09-11 10:02:42

c++程序中的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<string> vec 就是定义了一个vector容器,可以通过
  vec.push_back(), push_font(),insert(position,value) 想vector中添加一个指定值

  list<int> ilist<初始大小,默认赋值> list<int> ilist(20 -1) 初始20个值为-1的list

  然后操作可以参考这些这些类封转的方法。

  关联容器:set map mutimap mutiset
  key-->value形式
  1--1
  2--2
  3--3

  set 形式 1234,键值唯一;
  具体容器的操作方法,可以调用其成员函数.

查看完整回答
反对 回复 2018-10-06
?
侃侃无极

map<int,char> ctr;ctr.insert(pair<int,char>)(1,'a'));

查看完整回答
反对 回复 2018-10-06
  • 2 回答
  • 0 关注
  • 1513 浏览
我要回答

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信