STL中的容器可以分為兩大類:
1、順序容器:list,queue,vector
2、關聯容器:map,set(當然對應的有multimap,multiset)
其中vector的存儲結構是數組,其它的存儲結構是鏈表。
言歸正傳,現在看一下vector和set的區別:
首先vector屬於順序容器,其元素與存儲位置與操作操作有關;set屬於關聯容器,其元素相當於鍵值。set能夠保證它里面所有的元素都是不重復的(multiset除外)。
其次,由於存儲結構不同,vector擅長於解決某個位置是什么值的問題,而set擅長於解決,某個元素在那個位置的問題,知道元素的內容,查找它的位置。因此vector特別好的支持隨機訪問,而set不支持(不支持下標訪問)。
