如何将数组放入列表&lt; vector <int>&gt;酒吧

时间:2018-03-29 03:36:52

标签: c++ list

我使用list< vector <int> >,我想将数组元素设置到其中,但我不知道如何。

int t[] = { 3 , 5 , 4 , 0 , 7 , 9 , 1 , 3 , 6 , 8 , 4 } ;

list< vector<int> >bar;

并使用迭代器显示数据

3

5 4

4 0 7

0 7 9 1

7 9 1 3 6

9 1 3 6 8 4

1 个答案:

答案 0 :(得分:0)

这是一个代码段。

int t[] = { 3 , 5 , 4 , 0 , 7 , 9 , 1 , 3 , 6 , 8 , 4 };

int arr_size = sizeof(t) / sizeof(int);

list< vector<int> >bar;
int i, j = 0;
cout << " ";

while (j < arr_size)
{
    int s = bar.size() + 1;

    vector<int> vec;
    for (i = 0; i < s && (j + i) < arr_size; i++)
    {
        vec.push_back(t[j + i]); cout << t[j + i] << " ";
    }

    if ((j + i) >= arr_size) break;

    j++;

    cout << "\n ";

    if (!vec.empty())
    {
        auto it = bar.end();
        it--;
        bar.insert(it, vec);    
    }    
}

cout << "\n ";

输出 enter image description here

您可以像这样轻松迭代:

for (auto it = bar.begin(); it != bar.end(); it++)
{
    for (auto a : *it)
    {
        cout << a << " ";
    }

    cout  << "\n ";
}