卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

deque與queue的區(qū)別 deque用法和與vector的區(qū)別?

deque用法和與vector的區(qū)別?deque和vector的主要區(qū)別如下:1。兩端可以快速插入和刪除元素,這些操作可以在攤銷的固定時(shí)間內(nèi)完成。2. 元素的訪問和迭代器的動作都比向量慢。3. 迭代器

deque用法和與vector的區(qū)別?

deque和vector的主要區(qū)別如下:

1。兩端可以快速插入和刪除元素,這些操作可以在攤銷的固定時(shí)間內(nèi)完成。

2. 元素的訪問和迭代器的動作都比向量慢。

3. 迭代器需要在不同的塊之間跳轉(zhuǎn),因此它不是一般的指針。

4. 因?yàn)閐eque使用多個(gè)內(nèi)存(而且vector必須使用一個(gè)連續(xù)內(nèi)存),所以dequeusize()的最大值可能會更大。

5. 不支持控制容量和內(nèi)存重新分配時(shí)間。然而,deque的內(nèi)存重新分配比vector的要好,因?yàn)樗膬?nèi)部結(jié)構(gòu)表明deque在內(nèi)存重新分配期間不必復(fù)制所有元素。

6. 除了頭和尾,在任何地方插入或刪除元素都會導(dǎo)致指向deque元素的所有點(diǎn)、引用和迭代器無效。

7. 當(dāng)deque的內(nèi)存塊不再使用時(shí),它將自動釋放。deque的內(nèi)存大小可以自動減少。

8. Deque和vector組織記憶的方式不同。在底層,deque通過“page”或“chunk”分配內(nèi)存,每個(gè)頁面包含固定數(shù)量的元素。Vector只分配一個(gè)連續(xù)的內(nèi)存塊。例如,一個(gè)10m字節(jié)的向量使用整個(gè)10m字節(jié)的內(nèi)存,而deque可以使用一系列較小的內(nèi)存塊,比如101M內(nèi)存塊。因此,deque的地址(例如&deque[0])不能傳遞給傳統(tǒng)的capi,因?yàn)閐eque中使用的內(nèi)存不一定是連續(xù)的。deque的以下特性與vector類似:1。中間元素的插入和刪除速度很慢。2迭代器屬于隨機(jī)訪問迭代器。你喜歡矢量還是德克?C級?標(biāo)準(zhǔn)建議向量是默認(rèn)情況下應(yīng)該使用的序列。如果大多數(shù)插入和刪除操作發(fā)生在序列的開頭或結(jié)尾,則應(yīng)選擇Deque。注:1。除了at(),其他成員函數(shù)不會檢查索引或迭代器是否有效。2任何insert或delete操作都將使指向deque元素的所有指針、引用和迭代器無效。唯一的例外是在head或tail中插入元素(此時(shí),指針和引用仍然有效,但迭代器無效)。

list,vector和deque的區(qū)別?

1. 矢量連續(xù)存儲結(jié)構(gòu),每個(gè)元素在內(nèi)存中是連續(xù)的;它支持有效的隨機(jī)存取和最后的插入/刪除操作,但在其他位置的插入/刪除操作效率很低;它相當(dāng)于一個(gè)數(shù)組,但與數(shù)組的區(qū)別是:內(nèi)存空間的擴(kuò)展。

Vector支持存儲,不指定Vector的大小,但數(shù)組的擴(kuò)展需要程序員編寫。向量內(nèi)存分配的原理如下:當(dāng)STL在內(nèi)部實(shí)現(xiàn)時(shí),它會為存儲分配非常大的內(nèi)存空間,即capacity()函數(shù)返回的大小。當(dāng)它超過分配的空間時(shí),它會分配一個(gè)內(nèi)存塊(VS6.0是VS2005的1.5倍)。因此,它給人的感覺是向量不能指定連續(xù)存儲器的大小。通常,這種默認(rèn)內(nèi)存分配可以完成大部分存儲。擴(kuò)展空間(無論多大)應(yīng)該做到以下幾點(diǎn):(1)配置一個(gè)新的空間;(2)將舊的元素逐個(gè)移動到新的地址;(3)將原來的空間釋放回系統(tǒng)。注:矢量的數(shù)據(jù)排列和操作方式與數(shù)組非常相似。兩者之間唯一的區(qū)別是在空間使用上的靈活性。數(shù)組的擴(kuò)展空間應(yīng)由程序員自己編寫。vector類定義了幾個(gè)構(gòu)造函數(shù)來定義和初始化vector對象:vector