【c++的vector巢狀標是】
使用vector 模擬二維陣列的複習,舉例:
可以定義vector 的元素仍然是一個vector 比如, vector > 即表示一個二維int 陣列,裡層的vector 表示第一維, 外層的vector 表示第二維:
1 #include
2 #include
3 #include
4
5 using namespace std;
6
7 int main()
8 {
9 vector > vec;
10 vector vec1;
11 vector vec2;
12 //定義第一個二維元素並賦值給vec
13 for(int i = 0; i < 5; i++)
14 {
15 vec1.push_back(i);
16 }
17 vec.push_back(vec1);
18 //定義第二個二維元素並賦值給vec
19 for(int i = 100; i < 110; i++)
20 {
21 vec2.push_back(i);
22 }
23 vec.push_back(vec2);
24
25 //先通過二維的iterator 依次讀出二維的所有元素,然後再通過一維的iterator讀出所有一維的元素
26 vector <vector<int> >::iterator iter;
27 for(iter = vec.begin(); iter != vec.end(); iter++)
28 {
29 vector::iterator it;
30 for(it = (*iter).begin(); it != (*iter).end(); it++)
31 cout << *it <<endl;
32 }
33
34
35
36 return 0;
37 }
輸出:
1 0
2 1
3 2
4 3
5 4
6 100
7 101
8 102
9 103
10 104
11 105
12 106
13 107
14 108
15 109