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

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

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的折中;

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *