C/C++STL多维数组(vector(vector() ))
程序员文章站
2022-08-09 19:39:02
c/c++stl多维数组(vector(vector() )):stl本身并没有二维三维数组的概念。但是并不是说stl不支持多维数组。我们可以用向量vector来构造多位数组。
定义一个二维数组:...
c/c++stl多维数组(vector(vector() )):stl本身并没有二维三维数组的概念。但是并不是说stl不支持多维数组。我们可以用向量vector来构造多位数组。
定义一个二维数组:
vector > ivv;
对象ivv是向量的向量,相当于一个二维数组,但是各维上元素的数目可以不同。
需要注意的是两个”>”符号之间必须有空格,否则会被认为是”>>”操作符,而造成错误。
下面还是用实际例子来说明用法:
// stl 多维数组(vector >) #include #include using namespace std; int main() { vector > vectorarray; //向量的向量 > >中间有个空格 vector a; vector::iterator sit; //迭代器 a.push_back(4); a.push_back(26); a.push_back(77); vector b; b.push_back(7); b.push_back(26); b.push_back(75); vectorarray.push_back(a); //向量对象a插入 vectorarray.push_back(b); //向量对象b插入 int anint; vector >::iterator it; vector mylist; for (it = vectorarray.begin(); it != vectorarray.end(); ++it) { mylist = *it; for (sit = mylist.begin(); sit != mylist.end(); ++sit) { anint = *sit; cout<