c++ vector和set的區別


STL中的容器可以分為兩大類:

1、順序容器:list,queue,vector

2、關聯容器:map,set(當然對應的有multimap,multiset)

其中vector的存儲結構是數組,其它的存儲結構是鏈表。

 

言歸正傳,現在看一下vector和set的區別:

首先vector屬於順序容器,其元素與存儲位置與操作操作有關;set屬於關聯容器,其元素相當於鍵值。set能夠保證它里面所有的元素都是不重復的(multiset除外)。

其次,由於存儲結構不同,vector擅長於解決某個位置是什么值的問題,而set擅長於解決,某個元素在那個位置的問題,知道元素的內容,查找它的位置。因此vector特別好的支持隨機訪問,而set不支持(不支持下標訪問)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM