search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

C++ Vector、List和Deque的區別 (整理) – jashliao部落格

C++ Vector、List和Deque的區別 (整理)


資料來源: https://www.itread01.com/content/1523965270.html


▲ Vector VS. List VS. Deque:

    a、若需要隨機訪問操作,則選擇vector;
    b、若已經知道需要存儲元素的數目,則選擇vector;
    c、若需要隨機插入/刪除(不僅僅在兩端),則選擇list
    d、只有需要在首端進行插入/刪除操作的時候,還要兼顧隨機訪問效率,才選擇deque,否則都選擇vector。
    e、若既需要隨機插入/刪除,又需要隨機訪問,則需要在vector與list間做個折中-deque。
    f、當要存儲的是大型負責類對象時,list要優於vector;當然這時候也可以用vector來存儲指向對象的指針,同樣會取得較高的效率,但是指針的維護非常容易出錯,因此不推薦使用。


▲ 使用原則:

    (1)如果需要高效的隨機存取,而不在乎插入和刪除的效率,使用vector;
    (2)如果需要大量高效的刪除插入,而不在乎存取時間,則使用list;
    (3)如果需要高效的隨機存取,還要大量的首尾的插入刪除則建議使用deque,它是list和vector的折中;



熱門推薦

本文由 jashliaoeuwordpress 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦