C++库中还有很多的容器:vector,list (双向链表),queue,stack,set,map,等等。
但是他们都有一些共有的操作。
1.== 和 != 运算符,都是返回true和false;
2.赋值(=),是将一个容器赋值给另一个容器。
3.empty都是返回的true和false;
4.size都表示,容器内部,现在持有的元素个数。
5.clear()删除所有元素。
6.begin()都是指向容器的第一元素。
7.end()都是返回容器的最后一个元素的下一个位置;
8.insert(),将单一或者某一个范围内的元素插入容器。
9.erase(),都是将容器内的单一元素或者某个范围内的元素,删除。
vector和list的比较优缺点:
vector是数组,那么他的优点就是随机访问效率高,但是要是删除和插入一个元素效率是很低的。
list是一个双向链表,那么他的优点就是很显然的,就是删除插入很简单,但是随机的访问却是很困难的。一个
泛型算法:
1.find()用于搜索无序的集合;找到某个范围内的iterator[first,end);找到就返回,iterator所指向的值,否是指向end().
2.binary_search() 用于查找有序的,找到返回true,否则返回false;binary_search()比find()更有效。(vector按照递增序列排序,才最有效)
3.count(),返回数值相符的元素个数。
4.search(),查找子集的,如果,找到自己序列,那么就返回自己的起始位置。否则返回end()的地址。