C 回顧之順序容器

2021-08-16 10:04:44 字數 633 閱讀 2279

順序容器型別:vector deque(雙端佇列,也可快速隨機訪問)list(雙向鍊錶)forward_list(單向鍊錶) array(比內建陣列更安全) string

string 和 vector 都是將元素儲存在連續的記憶體空間。快速隨機訪問,但插入刪除就很慢。

應該使用標準庫容器,而不是原始的資料結構,如內建陣列。

元素初始化器(295頁)

forward_list迭代器不支援遞減運算子。

容器操作可能使得迭代器操作失效。

vector物件的增長

vector物件是連續儲存的,當它預留的空間不夠使用時則必須將全部元素遷移到新的更大的空間上。vector只有在迫不得已的時候才會分配新的記憶體空間。

vector

c;c.capacity() // 不重新分配記憶體的話,c可以儲存多少元素

c.reserve(n) // 分配至少能容納n個元素的空間

三個順序容器介面卡:stack(預設基於deque), queue(預設基於deque), priority_queue(預設基於vector)。

乙個容器介面卡接受一種已有的容器型別,使其行為看起來像一種不同的型別。

每個介面卡都基於底層容器型別的操作定義了自己的特殊操作。

stl容器之順序容器

stl容器分為順序容器和關聯容器 其中順序容器最常用的由vector,list,queue 1.vector vector 向量容器,可以看作變長陣列,長度可根據需要自行變化。使用的標頭檔案 include 定義方式 vector陣列名 vectorar 訪問容器內資料的方式和普通陣列相同,可以用a...

C 順序容器

一 順序容器型別 順序容器 vector list deque 介面卡 stack queue priority queue 使用這些容器都必須使用相應的標頭檔案 二 容器元素初始化 cc 建立乙個名為c的空容器 cc c2 建立容器c2的副本 cc b,e 建立c,其元素是迭代器b和e的範圍內的副...

C 順序容器

1 概述 乙個容器就是一些特定型別物件的集合。順序容器型別 描述vector 可變大小陣列,支援快速訪問,在尾部之外的地方插入或刪除時可能很慢 deque 雙端佇列。支援快速訪問,在頭尾插入刪除會很快。list 雙向列表。只支援雙向順序訪問。插入刪除很快 forward list 單向列表。只支援單...