int a[5] = ;
int size = sizeof(a) / sizeof(*a);
for(int i = 0; i < size; i++)
cout << a[i] << " ";
sizeof()是乙個操作符(operator),返回物件或型別所佔記憶體空間的位元組數。
sizeof(a),返回陣列a所佔記憶體空間的位元組數;sizeof(*a),返回陣列a首元素所佔記憶體空間的位元組數。兩者相除即為陣列長度。
for(int& item:a)
cout << item << " ";
for依次迴圈,item依次作為每個元素的引用。
#include using namespace std;
sort()包含在標頭檔案中,定義在命名空間std中。
sort(a, a + size);
for(int& item:a)
cout << item <<" ";
sort()可以傳入三個引數。第乙個引數為要排序陣列的首位址,第二個引數為要排序陣列的尾位址,第三個引數制定排序型別(從小到大or從大到小)。第三個引數可以省略,預設從小到大排;且第三個引數用起來比較麻煩,若有從大到小的需求,可以先從小到大排,之後倒序輸出。
陣列的大小不能發生變化,需要在初始化時指定陣列的大小。有時它會非常不方便並可能造成浪費。因此,大多數程式語言都提供內建的動態陣列,它仍然是乙個隨機訪問的列表資料結構,但大小是可以發生改變的。例如,在 c++ 中的vector。
#include
用到vector模板類時,要注意引用標頭檔案。
// 1. initialize
vectorv0;
vectorv1(5, 0);//v1有5個元素,均為0
// 2. make a copy
vectorv2(v1.begin(), v1.end());
vectorv3(v2);
// 3. cast an array to a vector
int a[5] = ;
vectorv4(a, *(&a + 1));
定義v4時,傳入兩個引數a和*(&a+1),兩個都是指標。a指向陣列的首元素位址,&a為指向陣列指標的指標,加一後就直接跨越了乙個陣列長度,再用*取值後,*(&a + 1)為指向陣列尾元素的位址。
cout << "[version 1] the contents of v4 are:";
for (int i = 0; i < v2.size(); ++i)
cout << endl;
cout << "[version 2] the contents of v4 are:";
for (int& item : v4)
cout << endl;
cout << "[version 3] the contents of v4 are:";
for (auto item = v4.begin(); item != v4.end(); ++item)
cout << endl;
vector用方括號加數字的方式訪問內部具體的某個元素。
v.size()返回vector的長度。
v.begin()返回vector的首位址,v.end返回vector的尾位址。
auto自身並不是一種資料型別,其只是一種給物件自動匹配型別的機制。
// sort
sort(v4.begin(), v4.end());
// add new element at the end of the vector
v4.push_back(-1);
// delete the last element
v4.pop_back();
v.push_back(x)在vector尾部新增元素x,v.pop_back()刪除最後乙個元素。 c 容器vector的基本操作
在c 中,vector是乙個十分有用的容器,下面對這個容器做一下總結。1 基本操作 1 標頭檔案 include.2 建立vector物件,vectorvec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout vector iterator it for it vec...
C 中vector的基本操作
建立乙個空的 vector vectorv 新增元素 注意 push back 和pop back只能在尾部新增和刪除,不能操作頭部 v.push back 3.1415926 v.push back string adiabatic 刪除元素 pop back v.pop back 3.14159...
C 中vector的基本操作
在c 中,vector是乙個十分有用的容器,下面對這個容器做一下總結。1 基本操作 1 標頭檔案 include.2 建立vector物件,vectorvec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout vector iterator it for it vec...