第9章 顺序容器(一)

1.不同的容器有不同的特点。不同的特点决定了它们的使用方式

string 和vector容器存放再连续内层空间,方便读取,但是不便于插入删除。

list和forward_list(双向/单向链表)方便插入删除操作,不方便随机读取。

deque是队列,和string 和vector容器类似,方便读取,不方便插入。在两端插入删除方便。

2.如果没有更好的选择,就用vector。

存储的数据很小就不要用链表,链表里面会有指针开销。可能存储的数据只有1字节,结果指针大小要4个或者8个字节,不值得。(买个5万的车,上个20万的牌子。不值得

要求随机访问要用string 和vector容器。

插入数据就尽量用链表。

只在头尾插入,就用队列deque。

3.容器要么只可以随机存取,要么只可以方便的在中间插入删除数据,如果我们就是想同时拥有这两个好处,那么可以用取巧的方式。

  通过list插入和删除数据,插入删除后将list容器内容拷贝到vector容器里面,借助vector容器对数据进行读取。

或者对vector容器追加元素后,用sort函数进行排序(前提是有序数组)

4.如果大多数操作都是随机读取,插入删除很少,就用string 和vector容器。相反的就用链表。

 

 

posted @ 2023-05-01 16:13  嵌入式新手  阅读(8)  评论(0)    收藏  举报