vector 删除指定元素_std::vector简介
引入
使用vector,需添加頭文件#include<vector>,
要使用sort或find,則需要添加頭文件#include<algorithm>。
簡(jiǎn)介
vector是表示可以改變大小的數(shù)組的序列容器。
就像數(shù)組一樣,vector使用連續(xù)存儲(chǔ)空間存儲(chǔ)元素,這意味著它們的元素也可以使用指向其元素的指針進(jìn)行偏移來訪問,并與數(shù)組一樣高效。但與數(shù)組不同的是, vector的大小可以動(dòng)態(tài)變化,并且是由容器自動(dòng)處理的。
在內(nèi)部實(shí)現(xiàn)上,vector使用動(dòng)態(tài)分配的數(shù)組來存儲(chǔ)它們的元素。在插入新元素時(shí),vector的大小增大,可能需要重新分配數(shù)組,這意味著可能要分配新數(shù)組并將原有數(shù)組中所有元素移動(dòng)到這個(gè)新數(shù)組中。重新分配數(shù)組的時(shí)間成本相對(duì)高昂,因此,vector不會(huì)在每次向容器添加元素時(shí)都重新分配數(shù)組。vector容器可能會(huì)分配一些額外的存儲(chǔ)空間來適應(yīng)可能的增長(zhǎng),因此容器的實(shí)際容量可能比其包含的元素個(gè)數(shù)要大。不同庫(kù)可以實(shí)現(xiàn)不同的增長(zhǎng)策略以在使用現(xiàn)有內(nèi)存和 重新分配內(nèi)容之間取得平衡,但無論如何,重新分配內(nèi)存時(shí)的數(shù)組大小應(yīng)以對(duì)數(shù)增長(zhǎng),這樣在vector末端插入單個(gè)元素時(shí)就可以得到平攤的常數(shù)時(shí)間復(fù)雜度。
因此,與數(shù)組相比,vector消耗更多內(nèi)存,以換取以更有效的方式管理存儲(chǔ)空間。
與其他動(dòng)態(tài)序列容器(deques,lists和forward_lists)相比,vector可以非常高效地訪問其元素(就像數(shù)組一樣)并且相對(duì)高效地從其末尾添加或刪除元素。 對(duì)于涉及在末尾以外的位置插入或刪除元素的操作,性能比其他序列容器要差,并且與lists和forward_lists相比具有更少的迭代器和引用一致性。
刪除所有元素
clear()
總結(jié)
以上是生活随笔為你收集整理的vector 删除指定元素_std::vector简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 刷卡建行会打电话吗?
- 下一篇: activiti高亮显示图片_如今透明L