STL(Strand Template Library)标准模板库
标准模板库由容器、算法、迭代器、伪函数、空间配置器、配接器组成,前四个是最为重要的,迭代器是容器与算法之间的"桥梁"
容器vector<T>、deque<T>、string<T>、stack<T>、queue<T>都是由数组实现
优点:1、可以随意访问数组元素,例如vector<int>v; v.at(2),*(vector<int>::iterator=v.begin()+2)
2、访问速度快,因为是连续存储
缺点:可能会造成内存浪费和溢出,vector容器不断的push_back等行为增加它的容量会导致内存浪费
容器List<T>是由链表实现
优点:1、不会造成内存浪费,那有空哪里创个结点
2、删除部分数据不会像数组需要将移动,只需改变指针方向
缺点:不能随意访问元素,结点里有两个指针,占的空间大,遍历时间也长
容器set<T>,multiset<T>,map<T,T>,multimap<T,T>是由二叉树实现
优点:和链表类似
缺点:和链表类似