c++中组数的替代方案
向量 vector
vector可以看作一個動態(tài)數(shù)組,用于存儲一組數(shù)據(jù)類型相同的數(shù)據(jù),對數(shù)據(jù)元素的個數(shù)沒有限制,即可以把 vector看作一個存放任意數(shù)據(jù)類型的“容器”。使用 vector需要包含頭
文件< vector>。聲明 vector對象的方法有多種,例如:
vector〈類型說明符〉對象名;
vector〈類型說明符〉對象名(元素個數(shù));
vector〈類型說明符〉對象名{元素初始列表};
其中,類型說明符說明了 vector容器中存儲的數(shù)據(jù)類型,可以是基本數(shù)據(jù)類型,也可以
是構(gòu)造數(shù)據(jù)類型。對象名是任意合法的標(biāo)識符。第一種形式聲明的對象長度是0,第二種形式指定了對象的元素個數(shù),第三種形式可以為對象賦初始值。例如:
nV1的初始長度為0,并不意味著該向量沒有任何用處,不能存儲任何數(shù)據(jù)。同樣,fV2的初始長度是10,也并不意味著只能存儲10個foat型數(shù)據(jù),因為 vector類型的對象長度是自動變化的。例如,若fV2中存儲的元素超過10個,編譯器會自動為fV2分配相應(yīng)數(shù)量的內(nèi)存空間。
vector 向量中元素的訪問方法有兩種:下標(biāo)法和使用成員函數(shù)()。例如,訪間nv3的第三個元素(下標(biāo)為2的元素):
其中,at()nV1的成員函數(shù),通過成員運(yùn)算符","進(jìn)行調(diào)用
類模板 array
aray與普通數(shù)組一樣,也實(shí)現(xiàn)為一個定長的數(shù)組。使用aray需要包含頭文件
聲明array類型對象的基本格式如下:
array<類型說明符,組數(shù)長度>組數(shù)名;
例如:
類模板array提供了豐富的層面,函數(shù)可以實(shí)現(xiàn)特定的功能,下面介紹幾個常用的成員函數(shù)。
1.元素訪問
1.[]
基本格式:
組數(shù)名[下標(biāo)]
例如:
2.at()
基本格式:
組數(shù)名.at(下標(biāo))
例如:
3.front()
基本格式:
組數(shù)名.front()
函數(shù)功能:返回第1個元素,相當(dāng)于at(0)。例如:
4.back()
基本格式:
組數(shù)名.back()
函數(shù)功能:返回最后一個元素。
5.date()
基本格式:
組數(shù)名.date()
函數(shù)功能:返回指向第1個元素的指針。例如
迭代器運(yùn)算函數(shù)
迭代器( Iterator)即指向array容器的元素的指針,它具有指針的一般性質(zhì),如解引用運(yùn)
”、指針移動(如自增“++”、自減“—”)等。相關(guān)的成員函數(shù)包括 begin()、end0)、 begin()、rend()。
(1)begin(),end()
基本格式:
數(shù)組名.begin()
或
數(shù)組名.end()
分別返回第1個元素的迭代器和最后一個元素后面位置的迭代器。
(2)rbegin(),rend()
分別返回最后一個元素的迭代器和第1個元素前面位置的迭代器
這種迭代器可以看做反向迭代器,如果需要逆序訪問數(shù)組元素的話,可以使用這種迭代器。
綜合代碼:
希望對大家有幫助呀。
總結(jié)
以上是生活随笔為你收集整理的c++中组数的替代方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用c语言写一个栈
- 下一篇: c++中的new与delete运算符