陣列:array 容器:vector
陣列與容器最大的區別是宣告時陣列的大小固定且保持不變,vector是序列容器,可改變大小的陣列。
接下來,分別詳細分析陣列與容器的不同
宣告: array是乙個包裝固定大小陣列的容器,因此宣告時必須確定其大小
arrayarray_name;
例:arrayn=;
vector 不需要指定陣列長度及資料型別
vectorarray_name;
例:vectormarks;
初始化:陣列需要在宣告時進行賦值進行初始化!!!
方法一:arrayn=;
方法二:arrayn};
方法三:array n;
n=;vector與array初始化相同
大小:array.size();
mark.size();
傳遞函式:void printarray(const array&n)
void printvector(const vector&n)
功能函式:at():訪問指定位置的元素
front()、back():取第乙個、最後元素
max_size():可容納的最大元素數
容器:v.resize() 包含指定數量的元素
v.push_back() 末尾新增乙個新元素
v.pop_back() 刪除最後乙個元素
v.capacity() 返回向量分配的儲存空間
v.reserve() 所需元素大於vector的容量時,增加向量的容量
v.insert(v.begin(),100)指定位置前插入元素
v.earse()刪除乙個或多個元素
iterarors:迭代器,一種指向項,指向容器元素,擁有迭代容器的功能
begin(),end();
反向容器:rebegin(),rend()
多維陣列:array,3>a ,,}};
多維容器:vector> v,,}};
陣列與容器
通過下面的一道題,來分析陣列與容器的一些不同之處 題 編寫必要的 將乙個陣列賦給另乙個陣列,然後把這段 改用 vector 實現。考慮如何將乙個 vector 賦給另乙個 vector。解答 一 陣列 include using namespace std int main int b array ...
陣列與容器
通過下面的一道題,來分析陣列與容器的一些不同之處 題 編寫必要的 將乙個陣列賦給另乙個陣列,然後把這段 改用 vector 實現。考慮如何將乙個 vector 賦給另乙個 vector。解答 一 陣列 include using namespace std int main int b array ...
容器與陣列
關於定義陣列,我們都知道,當我們定義完乙個陣列,該陣列的成員數就已經固定了,即陣列是靜態分配記憶體的,一旦分配完記憶體大小,便不可改變。例如,定義乙個成員數為n的整型陣列 則這個n應該表示的是常量,而不是變數 int nums n 在寫出該語句後,nums陣列的成員數就已經不可變了更形象一些,假設我...