C 順序容器

2021-10-18 07:47:34 字數 2013 閱讀 2124

除了固定大小的array外,其他容器都提供高效、靈活的記憶體管理

1.標頭檔案

#include #include #include #include #include #include
2.定義和初始化

3.賦值運算

4.新增元素

5.訪問元素

6.刪除

7.改變容器大小

8.所有容器介面卡都支援的操作和型別

vectora2(3); //初始化3個元素,值為預設

vectora3(3,5); //初始化3個元素,值都為5

vectora4;

vectora5 = ;

vectorb1(a4);

vectorb2;

b2.assign(a4.begin(), a4.begin() + 2); //將a4的前2個值賦給b2

b2.swap(a5); //比直接拷貝快的多,b2為4,5,6

swap(b2, a4); //b2和a4互換,型別需一致

//返回a的最後乙個元素

a.back();

//返回a的第乙個元素

a.front();

//返回a的第i元素,當且僅當a存在

a[i];

//清空a中的元素

a.clear();

//判斷a是否為空,空則返回true,非空則返回false

a.empty();

//刪除a向量的最後乙個元素

a.pop_back();

//刪除a中第乙個(從第0個算起)到第二個元素,也就是說刪除的元素從a.begin()+1算起(包括它)一直到a.begin()+3(不包括它)結束

a.erase(a.begin()+1,a.begin()+3);

//在a的最後乙個向量後插入乙個元素,其值為5

a.push_back(5);

//在a的第乙個元素(從第0個算起)位置插入數值5,

a.insert(a.begin()+1,5);

//在a的第乙個元素(從第0個算起)位置插入3個數,其值都為5

a.insert(a.begin()+1,3,5);

//b為陣列,在a的第乙個元素(從第0個元素算起)的位置插入b的第三個元素到第5個元素(不包括b+6)

a.insert(a.begin()+1,b+3,b+6);

//返回a中元素的個數

a.size();

//返回a在記憶體中總共可以容納的元素個數

a.capacity();

//將a的現有元素個數調整至10個,多則刪,少則補,其值隨機

a.resize(10);

//將a的現有元素個數調整至10個,多則刪,少則補,其值為2

a.resize(10,2);

//將a的容量擴充至100,

a.reserve(100);

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 單向列表。只支援單...

C 順序容器

一 各個順序容器效能差異主要體現在一下兩個方面 1.在容器中任意位置新增和刪除元素的代價 2.隨機訪問容器中元素的代價 vector list deque forward list array string vector是可變大小陣列,支援快速隨機訪問,在尾部插入和刪除元素較為方便 list是雙向鍊...