C++标准库 - STL容器概述

容器分类:

容器总体上可分为3种:序列式容器、关联式容器、无序容器。

1、序列式容器 sequence containers:

Array,C++11,就是对数组的包装,大小固定;

                                             

Vector,内存不够可以在后边自动增长;

                                                        

Deque,双向队列,两端可进可出,双向都可动态扩容,queue和stack都是Deque的适配器,技术上都是Deque,不提供Iterator。queue允许在一端插入,另一端删除,stack允许在一端插入和删除。

                                          

List:双向链表;

                             

Forward-List(C++11),单向链表

                             

2、关联式容器 associative containers:

采用key-value结构,有序,适合用于快速查找。

       set/multiset,底层红黑树做的,set的key和vaule是一个,multi表示元素可以重复:

                                                  

       map/multimap,底层红黑树做的,map的每个节点有key和vaule,multi表示key可以重复

                                               

3、无序容器 unordered containers:

C++11新出的容器,使用HashTable做的,HashTable是数组+链表的组合

       Unordered set/multiet:

                                                             

       Unordered map/multimap

                                                             

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值