How to iterate a Multidimensional Array? (original) (raw)

Last Updated : 07 Nov, 2022

Multidimensional arrays are arrays that have more than one dimension. For example, a simple array is a 1-D array, a matrix is a 2-D array, and a cube or cuboid is a 3-D array but how to visualize arrays with more than 3 dimensions, and how to iterate over elements of these arrays? It is simple, just think of any multidimensional array as a collection of arrays of lower dimensions.

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

For example, a matrix or 2-D array is a collection of 1-D arrays.

2D Array is a collection of 1D Arrays

2D Array is a collection of 1D Arrays

Similarly, you can visualize 3-D arrays and other multidimensional arrays.

How to iterate over elements of a Multidimensional array?

It can be observed that only a 1-D array contains elements and a multidimensional array contains smaller dimension arrays.

Example 1: Iterating over a 2-D array

C++ `

#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;

}

Java

// Java Code for iterating over a 2D array.

import java.io.*;

class GFG { public static void main(String[] args) { int n = 3; int m = 3; int[][] arr = { { 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 of ith row
        for (int j = 0; j < m; j++) {
            System.out.print(arr[i][j] + " ");
        }
        System.out.println();
    }
}

}

// This code is contributed by lokeshmvs21.

Python3

python code to implement the approach

if name == "main":

# Considering 2-D array having 3 rows and 3 columns
n = 3
m = 3
arr = [[3, 2, 7], [2, 6, 8], [5, 1, 9]]

# Iterating over all 1-D arrays in 2-D array
for i in range(0, n):

    # Printing all elements in ith 1-D array
    for j in range(0, m):

        # Printing jth element of ith row
        print(arr[i][j], end=" ")

    print()

# This code is contributed by rakeshsahni

C#

using System;

public class GFG{

static public void Main (){

// Code
int n = 3;
int m = 3;
int [ , ] arr = { { 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
    Console.Write(arr[i,j]);
    Console.Write(" ");
  }
  Console.Write("\n");
}

} }

// This code is contributed by akashish_.

JavaScript

`

Time Complexity: O(n*m)
Auxiliary Space: O(1)

Example 2: Iterating over a 3D array

C++ `

#include <bits/stdc++.h> using namespace std;

// Driver code int main() { // Consider 3-D array of dimensions 222 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;

}

Java

// Java Program for iterating over a 3D array.

import java.io.*;

class GFG { public static void main(String[] args) { // Consider 3-D array of dimensions 222 int x = 2, y = 2, z = 2; int[][][] arr = { { { 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++) {
        System.out.println("Inside " + (i + 1)
                         + " 2D array in 3D array");

        // Iterating over each 1-D array
        for (int j = 0; j < y; j++) {
            System.out.println(
                "Inside" + (j + 1)
                + " 1D array of the 2D array");

            // Iterating over each element in 1-D array
            for (int k = 0; k < z; k++) {
                System.out.print(arr[i][j][k] + " ");
            }
            System.out.println();
        }
        System.out.println();
    }
}

}

// This code is contributed by lokeshmvs21.

Python3

Python code

Consider 3-D array of dimensions 222

x = 2 y = 2 z = 2 arr = [ [ [ 1, 2 ], [ 3, 4 ] ],[ [ 5, 6 ], [ 7, 8 ] ] ]

Iterating over each 2-D array in 3-D array

for i in range(0,x): print("Inside " + str(i + 1) + " 2D array in 3-D array")

Iterating over each 1-D array

for j in range(0,x): print("Inside " + str(j + 1) + " 1D array of the 2-D array")

# Iterating over each element in 1-D array
for k in range(0,x):
  print(arr[i][j][k],end=" ")
print("")

print("")

This code is contributed by akashish__

C#

// C# Program for the iterating over a 3D array.

using System;

public class GFG {

static public void Main()
{

    // Code
    // Consider 3-D array of dimensions 2*2*2
    int x = 2, y = 2, z = 2;
    int[, , ] arr
        = new int[2, 2, 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++) {
        Console.Write("Inside " + (i + 1)
                      + " 2D array in 3D array"
                      + "\n");

        // Iterating over each 1-D array
        for (int j = 0; j < y; j++) {
            Console.Write("Inside" + (j + 1)
                          + " 1D array of the 2D array"
                          + "\n");

            // Iterating over each element in 1-D array
            for (int k = 0; k < z; k++) {
                Console.Write(arr[i, j, k] + " ");
            }
            Console.Write("\n");
        }
        Console.Write("\n");
    }
}

}

// This code is contributed by lokeshmvs21.

JavaScript

`

Output

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

Time Complexity: O(x*y*z)
Auxiliary Space: O(1)