STL中的容器可以分为两大类:
1、顺序容器:list,queue,vector
2、关联容器:map,set(当然对应的有multimap,multiset)
其中vector的存储结构是数组,其它的存储结构是链表。
vector和set的区别:
首先 vector属于顺序容器,其元素与存储位置与操作有关;
set属于关联容器,其元素相当于键值。set能够保证它里面所有的元素都是不重复的(multiset可以重复)。
其次, 由于存储结构不同,vector擅长于解决某个位置是什么值的问题,
而set擅长于解决,某个元素在那个位置的问题,知道元素的内容,查找它的位置。
因此 vector特别好的支持随机访问,
而set不支持(不支持下标访问)。
另外 对set容器进行插入时可以指定插入位置或者不指定插入位置。
如insert(v.begin(),1),也可以直接用insert(1)。还有一点是
set对一些操作符没有进行重载,如<