Как перебрать многомерный массив?

2D-массив представляет собой набор 1D-массивов Изучение

Многомерные массивы — это массивы, имеющие более одного измерения. Например, простой массив — это одномерный массив, матрица — это двумерный массив, а куб или прямоугольный параллелепипед — это трехмерный массив, но как визуализировать массивы с более чем 3 измерениями и как перебирать элементы из этих массивов? Это просто, просто подумайте о любом многомерном массиве как о наборе массивов более низких измерений.

n-D array = Collection of (n-1)D arrays

Например, матрица или двумерный массив — это набор одномерных массивов.

2D-массив представляет собой набор 1D-массивов

2D-массив представляет собой набор 1D-массивов

Точно так же вы можете визуализировать трехмерные массивы и другие многомерные массивы.

Как перебирать элементы многомерного массива

Можно заметить, что только одномерный массив содержит элементы, а многомерный массив содержит массивы меньшего размера.

  • Следовательно, сначала выполните итерацию по массиву меньшего размера и выполните итерацию по одномерному массиву внутри него.
  • Выполнение этого для всего многомерного массива приведет к повторению всех элементов многомерного массива.

Пример 1: Итерация по двумерному массиву

С++

#include <bits/stdc++.h>
using namespace std;
 
int main()
{
    // Considering 2-D array having 3 rows and 3 columns
    int n = 3;
    int m = 3;
    int arr[][3]
        = { { 3, 2, 7 }, { 2, 6, 8 }, { 5, 1, 9 } };
 
    // Iterating over all 1-D arrays in 2-D array
    for (int i = 0; i < n; i++) {
 
        // Printing all elements in ith 1-D array
        for (int j = 0; j < m; j++) {
 
            // Printing jth element of ith row
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }
    return 0;
}

Выход

3 2 7 
2 6 8 
5 1 9

Пример 2: Итерация по 3D-массиву

С++

#include <bits/stdc++.h>
using namespace std;
 
// Driver code
int main()
{
    // Consider 3-D array of dimensions 2*2*2
    int x = 2, y = 2, z = 2;
    int arr[][3][2] = { { { 1, 2 }, { 3, 4 } },
                        { { 5, 6 }, { 7, 8 } } };
 
    // Iterating over each 2-D array in 3-D array
    for (int i = 0; i < x; i++) {
        cout << "Inside " << i + 1
             << " 2D array in 3-D array" << endl;
 
        // Iterating over each 1-D array
        for (int j = 0; j < y; j++) {
            cout << "Inside " << j + 1
                 << " 1D array of the 2-D array" << endl;
 
            // Iterating over each element in 1-D array
            for (int k = 0; k < z; k++) {
                cout << arr[i][j][k] << " ";
            }
            cout << endl;
        }
        cout << endl;
    }
    return 0;
}

Выход

Inside 1 2D array in 3-D array
Inside 1 1D array of the 2-D array
1 2 
Inside 2 1D array of the 2-D array
3 4 

Inside 2 2D array in 3-D array
Inside 1 1D array of the 2-D array
5 6 
Inside 2 1D array of the 2-D array
7 8

Читайте также:  Основные понятия Ember.js
Оцените статью
bestprogrammer.ru
Добавить комментарий