如何在C++ STL中初始化3D向量

如何在C++ STL中初始化3D向量

C ++中的向量与动态大小的数组相同,具有调整大小的能力,可以从末尾插入和删除元素。

3D向量

3D向量是一种具有3个维度的向量类型,表示在其内部存储2D向量,类似于2D数组。

有几种方法可以初始化3D向量,它们是:

  1. 标准初始化3D向量
  2. 给定尺寸的3D向量初始化。
  3. 为3D向量初始化一些值

1.标准初始化3D向量

标准初始化3D向量是一种通过声明并使用push_back()函数插入元素来初始化的方法。

语法:

vector<vector<vector<data_type>>> vector_name;

示例:

// C++ program to initialise
// 3D vector using Standard
// initialization of a 3D vector
#include <iostream>
#include <vector>
 
using namespace std;
 
int main()
{
    // Initialising an empty 3D vector
    vector<vector<vector<int> > > v;
 
    // Adding values to the vector
    v.push_back({ { 1, 2, 3 }, { 3, 2, 1 } });
    v.push_back({ { 4, 5, 6 }, { 6, 5, 4 } });
 
    // Printing the 3d vector
    for (int i = 0; i < v.size(); i++) {
        for (int j = 0; j < v[i].size(); j++) {
            for (int k = 0; k < v[i][j].size(); k++) {
                cout << v[i][j][k] << " ";
            }
            cout << endl;
        }
    }
 
    return 0;
}  

输出

1 2 3 
3 2 1 
4 5 6 
6 5 4 

2.给定尺寸的3D向量初始化

以下是在C++中使用给定大小初始化3D向量的语法。初始化值默认为0,因此可以通过遍历循环来分配不同的值。

语法:

vector<vector<vector<data_type>>> vector_name(x, vector<vector<data_type>>(y, vector<data_type>(z)));

这里x,y和z是维度。

示例:

// C++ program to initialise
// 3D vector Initialization
// of a 3D vector with
// given dimensions
#include <iostream>
#include <vector>
 
using namespace std;
 
int main()
{
    // Initialising a 3D vector with 0 as initial value
    vector<vector<vector<int> > > v(
        2, vector<vector<int> >(3, vector<int>(4)));
 
    // Printing the 3d vector
    for (int i = 0; i < v.size(); i++) {
        for (int j = 0; j < v[i].size(); j++) {
            

    for (int k = 0; k < v[i][j].size(); k++) {
                cout << v[i][j][k] << " ";
            }
            cout << endl;
        }
    }
 
    return 0;
}  

输出

0 0 0 0 
0 0 0 0 
0 0 0 0 
0 0 0 0 
0 0 0 0 
0 0 0 0 

3.为3D向量初始化一些值

在此方法中,我们使用一些值创建具有x,y和z维度的向量。

语法:

vector<vector<vector<data_type>>> vector_name(x, vector<vector<data_type>>(y, vector<data_type>(z,value)));

示例:

// C++程序初始化
// 3D向量初始化为
// 带有某个值的3D向量
#include <iostream>
#include <vector>
using namespace std;

int main()
{
    //用0的初始值初始化3D向量
    vector<vector<vector<int> > > v(
        2, vector<vector<int> >(3, vector<int>(4, 2)));

    //打印3d向量
    for (int i = 0; i < v.size(); i++) {
        for (int j = 0; j < v[i].size(); j++) {
            for (int k = 0; k < v[i][j].size(); k++) {
                cout << v[i][j][k] << " ";
            }
            cout << endl;
        }
    }

    return 0;
}  

输出

2 2 2 2 
2 2 2 2 
2 2 2 2 
2 2 2 2 
2 2 2 2 
2 2 2 2 

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程