Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 迭代一维数组集合_C++_Arrays - Fatal编程技术网

C++ 迭代一维数组集合

C++ 迭代一维数组集合,c++,arrays,C++,Arrays,我代表一组数组,如下所示: std::vector<int> v = {3, 0, 1, 2, 1, 3, 1, 4, 2, 5, 6 }; 但是,我如何用前面描述的方案实现同样的效果呢?我觉得我想得太多了,我只能想出一些太复杂的东西。有什么好的解决方案吗?假设已经构建了向量,请尝试迭代器 std::vector<int>::iterator i = v.begin(); while(i != v.end()){ size_t n = *i; for(s

我代表一组数组,如下所示:

std::vector<int> v = {3, 0, 1, 2, 1, 3, 1, 4, 2, 5, 6 };

但是,我如何用前面描述的方案实现同样的效果呢?我觉得我想得太多了,我只能想出一些太复杂的东西。有什么好的解决方案吗?

假设已经构建了向量,请尝试迭代器

std::vector<int>::iterator i = v.begin();
while(i != v.end()){
    size_t n = *i;
    for(size_t j = 0; j < n; j++)
        std::cout << *(++i) << " ";
    std::cout << std::endl;
    ++i;
}
std::vector::iterator i=v.begin();
而(i!=v.end()){
大小n=*i;
对于(尺寸j=0;jstd::cout解决方案似乎并不比2D向量复杂多少:

std::vector<int>::iterator it = std::begin(v);

while (it != std::end(v)) {
    int n = *it;
    for (int j = 0; j < n; ++j) {
        ++it;
        std::cout << *it << ' ';
    }
    std::cout << '\n';
    ++it;
}
std::vector::iterator it=std::begin(v);
while(it!=std::end(v)){
int n=*it;
对于(int j=0;jstd::vector<int>::iterator it = std::begin(v);

while (it != std::end(v)) {
    int n = *it;
    for (int j = 0; j < n; ++j) {
        ++it;
        std::cout << *it << ' ';
    }
    std::cout << '\n';
    ++it;
}