2013-03-19 41 views
2

我使用vector<int>,我想將所有vector都存儲到另一箇中。所以我選擇list<vector<int> >顯示列表<vector<int>> elements

後來我想要顯示list中每個vector中的所有元素。但我想知道如何顯示它們。

如果我僅使用vectorlist意味着我可以使用迭代器並顯示我的int s。但我不知道該怎麼做。任何人都可以幫忙嗎?

+0

謝謝@meh進行編輯。 – user322 2013-03-19 13:13:42

回答

2

嵌套迭代,這將在一條線上打印每個矢量數據:

list<vector<int>> data; 

// ... 

for (auto &v : data) 
{ 
    for (auto &i : v) 
    { 
     cout << i << " "; 
    } 
    cout << endl; 
} 

一個年紀大一點:

for (list<vector<int> >::const_iterator v = data.begin(); v != data.end(); v++) 
{ 
    for (vector<int>::const_iterator i = v->begin(); i != v->end(); i++) 
    { 
     cout << *i << " "; 
    } 
    cout << endl; 
} 
+0

嘿感謝您的建議。這可能會有所幫助。我現在只是想知道這兩種方法如何工作。 但我想知道第一種方法中的汽車是如何工作的。 – user322 2013-03-19 13:15:59

+1

['auto'](http://www.cprogramming.com/c++11/c++11-auto-decltype-return-value-after-function.html)和['ranged-based loop'] (http://www.cprogramming.com/c++11/c++11-ranged-for-loop.html)是C++ 11的特性。閱讀有關它們並享受使用它們。 – deepmax 2013-03-19 13:35:52

+0

很酷非常感謝你。現在我試圖用第二種方法顯示,它能夠只顯示一個矢量..可能沒有數據或我必須看到.. 反正非常感謝。 – user322 2013-03-19 13:44:16

1

看看this question。它包含一個用於C++的通用漂亮打印機,支持STL容器。

,所以你只是#include它和你

list<vector<int>> data; 
    cout << data; 

會像一個幸福。

+0

謝謝,我會仔細研究一下。 。 – user322 2013-03-19 13:17:19

相關問題