日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——删除

發布時間:2023/11/27 生活经验 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——删除 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ??相關環境和說明在《C++拾趣——STL容器的插入、刪除、遍歷和查找操作性能對比(Windows VirtualStudio)——插入》已給出。本文將分析從頭部、中間和尾部對各個容器進行刪除的性能。(轉載請指明出于breaksoftware的csdn博客)

刪除

頭部刪除

元素個數>15000

erase_begin_16384_highest

? ? ? ? vector性能是最差的。我們再看下其他容器

erase_begin_16384

? ? ? ? deque和forward_list性能是最優的。

元素個數<1024

erase_begin_1024

? ? ? ? 由于vector的性能太差,上圖例中沒有將其列出來。

? ? ? ? 我們可以觀察到,各個容器在特別的元素個數時,會同步發生高耗時的操作。在圖中就是各個曲線在某個x軸區間都發生了值快速遞增。

結果對比:

? ? ? ? vector的性能始終最差。

? ? ? ? 除了vector,非關聯容器性能都優于關聯容器。

? ? ? ? 除了vector,set和map的性能最差。

中間刪除

元素個數>15000

erase_mid_16256_highest

? ? ? ? vector的性能最差。我們看下其他容器

erase_mid_16256

? ? ? ? 效率最好的是list和forward_list。其他容器差不了太多,包括deque性能也不行。

元素個數<256

erase_mid_256_highest

? ? ? ? 和小容器插入表現的不同,vector在從中間刪除元素時效率依舊糟糕。

結果對比:

? ? ? ? vector效率持續糟糕。

? ? ? ? list和forward_list性能最優。

? ? ? ? deque和其他關聯容器效率相似,比較低效。

尾部刪除

元素個數>15000

erase_end_16384_highest

? ? ? ? foward_list效率極差。我們再看下其他容器

erase_end_16384

? ? ? ? vector表現最優。其次是deque和list。

? ? ? ? map的性能要優于set。

? ? ? ? set在元素個數超過3000左右后,效率僅優于forward_list。

結論:

? ? ? ? vector只有在尾部刪除時性能最優。在頭部和中間刪除時,性能始終是最差的。

? ? ? ? forward_list在頭部和中間刪除時,性能是非常好的。但是在尾部刪除時,性能極其差。

? ? ? ? 中間刪除時,性能最高的是list和forward_list。deque在這個場景下表現很平庸,和其他關聯容器差不多。

? ? ? ? 頭部和尾部刪除時,deque性能非常優異。

? ? ? ?文中圖例可從如下地址獲取:https://github.com/f304646673/stl_perf/tree/master/windows

總結

以上是生活随笔為你收集整理的C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——删除的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。