关联容器和顺序容器的本质差别在于关联容器通过键(key)存储和读取元素,顺序容器则通过元素在容器中的位置顺序存储和访问元素。
顺序容器list、vector、deque和关联容器map、set类型分别适用的情况:
(1)list 类型适用于需要在容器中间插入和删除元素的情况,例如以无序方式读入一系列学生数据,并按学号顺序存储。
(2)vector类型使用与随机访问元素的情况,例如在序号为1....n的一系列人员当中,访问第x个人的信息。
(3)deque类型适用于需要在容器的尾部或首部插入和删除元素的情况。例如,对服务窗口进行管理,先来的顾客先得到服务。
(4)map类型使用与需要键-值对的集合的情况。例如,字典、电话簿的建立和使用。
(5)set类型使用于需要使用键集合的情况,例如,黑名单的建立和使用。
map和set的差别以及各自使用的情况
map和set的差别在于:map容器是键-值对的集合,而set只是键的集合;map类型适用于了解键与值的对应的情况,例如,字典(需要了解单词(键) 与解释(值)的对应情况),而set类型适用于只需判断某值是否存在的情况,例如,判断某人的名字是否在黑名单中。
set和list容器的主要差别和各自使用的情况
set容器和List容器的主要差别在于set容器中的元素不能修改,而list容器中的元素没有这方面的显示;set容器适用于保存元素值不变的集合,而list容器适用于保存发生变化的元素。