除了固定大小的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是雙向鍊...