1. 程式人生 > >【c++的vector巢狀標是】

【c++的vector巢狀標是】

使用vector 模擬二維陣列的複習,舉例:

可以定義vector 的元素仍然是一個vector 比如, vector > 即表示一個二維int 陣列,裡層的vector 表示第一維, 外層的vector 表示第二維:

1 #include  

2 #include  

3 #include  

5 using namespace std; 

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