二、c++11新增的模板類array
三、stl模板中的陣列vector
typename arrayname[arraysize]
;
陣列宣告必須指明:
儲存在陣列中每個元素的型別(typename);
陣列名稱(arrayname);
陣列大小(arraysize),必須是整型常數或者常數表示式。
陣列只能在定義的時候初始化。
int arr[4]
=;
初始化陣列時,提供的值可以少於陣列的元素個數。編譯器會把其他元素設定為0。int arr[4]
=;//arr[0]=1, arr[1]=0, arr[2]=0, arr[3]=0
如果初始化陣列時沒有指定元素個數,編譯器會計算元素個數。int arr=
;int arrsize =
sizeof
(arr)
/sizeof
(int);
//4
array是c++11新增的模板類,在標頭檔案中宣告,它對陣列進行了封裝,是長度固定的陣列。array中提供一些符合stl標準的方法,使得stl演算法可以運用於array物件。
array物件的建立方式
array<
int,
5> ai;
//建立乙個有5個int型元素的陣列
array<
double,4
> ad =
;//列表初始化,c++11新特性
array常用函式
函式功能void assign(const t& value)
將容器中所有元素賦值為value。
void fill(const t& value)
將容器中所有元素填充為value。
void swap(array& x)
交換呼叫物件與x中所有元素。
iterator begin()
返回第乙個元素對應的迭代器
iterator end()
返回最後乙個元素下乙個位置的迭代器
size_type size() const
返回array物件的元素個數
size_type max_size() const
返回array物件可容納的元素個數,值與size()相同
bool empty() const
此函式只會返回false
reference at(size_type pos)
返回pos位置元素的引用,提供越界檢查
reference front()
返回第乙個元素的引用
reference back()
返回最後乙個元素的引用
t* data()
返回array物件位址,即array物件第乙個元素位址
vector模板類在標頭檔案中宣告,是陣列的一種類表示。它提供了自動記憶體管理功能,可以動態的改變vector物件的大小,並隨著元素的新增和刪除而增大和縮小。
vector建立物件的方式
// 建立乙個空vector物件
vector<
int> vi;
// 定義乙個大小為10,元素值都為1的vector。
vector<
int>
vi1(10,
1);// 定義乙個大小為10,元素值為0的vector。沒有給定初始值,會呼叫元素型別的預設建構函式生成物件。
vector<
int>
vi2(10)
;// 使用初始化列表(initializer_list)初始化vector(c++11新特性)。
vector<
int> vi3 =
;// 用已有vector中資料初始化。
vector<
int>
vi4(vi3.
begin()
+1, vi3.
end())
;
vector常用函式
函式功能void push_back(const t& val)
在最後乙個元素後面插入val
void pop_back()
刪除最後乙個元素
iterator insert(itetator pos, const t& val)
在pos位置的元素前插入val
iterator insert(iterator pos, size_type n, const t& val)
在pos位置的元素前插入n個值為val的元素
iterator insert(iterator pos, iterator first, iterator last)
在pos位置的元素前插入區間[first, last)中的元素
void resize(size_type n)
重置vector物件大小。多刪少補,補t()。
void resize(size_type n, const t& val)
重置vector物件大小。多刪少補,補val。
void reserve( size_type n)
vector物件的容量小於n時擴充到n
iterator erase(iterator pos)
刪除pos位置的元素
iterator erase(iterator first, iterator last)
刪除區間[first, last)中的元素
void clear()
清空所有元素
vector& operator=(const vector& x)
賦值運算子過載
void assign(size_type n, const t& val)
賦n個值為val的元素到vector中
void assign(iterator first, iterator last)
將區間[first, last)中的元素賦值給vector
void swap(vector& x)
交換呼叫vector物件與x中的元素
t* data()
返回vector物件中第乙個元素的位址
bool empty()
判斷vector是否為空(返回true時為空)
size_type size() const
返回vector物件的元素個數
size_type max_size() const
返回容器所能容納的最大數目的元素個數。這是系統的限制,容器不一定能達到該大小。
size_type capacity() const
返回vector物件容量
iterator begin()
返回第乙個元素的迭代器
iterator end()
返回最後乙個元素下乙個位置的迭代器
t& at(size_type pos)
返回pos位置元素的引用 ,提供越界檢查
t& front()
返回第乙個元素的引用
t& back()
返回最後乙個元素的引用
php學習之旅 4 陣列
php學習之旅 4 陣列 1 陣列種類 數值索引陣列 具有數值索引的陣列 多維陣列 包含乙個或多個陣列的陣列 2 數值索引陣列 第一種初始化方法 cars array saab volvo bmw toyota 第二種初始化方法 cars 0 saab cars 1 volvo cars 2 bmw...
C 學習之旅(1)
第一,輸入輸出流都來自控制台。1 using system 2using system.collections.generic 3using system.linq 4using system.text 56 namespace 7年月日是該年的第天。第二,輸入輸出都來自於視窗的textbox。下面...
C語言奇妙之旅 指標陣列
乙個陣列的元素值為指標則是指標陣列。指標陣列是一組有序的指標的集合。一般形式 資料型別 陣列名 陣列長度 例如 程式功能 指標陣列 程式版本 v0.1.00 q是乙個指標陣列,三個元素分別指向二維陣列a的各行。然後用for迴圈輸出制定的陣列元素。指標陣列可以作為函式的參量使用,使用方式與普通陣列類似...