vector為什么要用加倍擴容而不是每次增加一個固定的擴容容量?


  1. vector在push_back以成倍增長可以在均攤后達到O(1)的事件復雜度,相對於增長指定大小的O(n)時間復雜度更好。
  2. 為了防止申請內存的浪費,現在使用較多的有2倍與1.5倍的增長方式,而1.5倍的增長方式可以更好的實現對內存的重復利用。
  3. 知乎上看到一個很好的解釋: https://www.zhihu.com/question/36538542/answer/67929747。


免責聲明!

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



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