Open In App
Related Articles

How to iterate a Multidimensional Array?

Improve Article
Improve
Save Article
Save
Like Article
Like

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.

  •  Hence first iterate over the smaller dimension array and iterate over the 1-D array inside it. 
  • Doing this for the whole multidimensional array will iterate over all elements of the multidimensional array.

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




<script>
 
    // Considering 2-D array having 3 rows and 3 columns
    let n = 3;
    let m = 3;
    let arr
        = [[ 3, 2, 7 ], [ 2, 6, 8 ], [ 5, 1, 9 ] ];
 
    // Iterating over all 1-D arrays in 2-D array
    for (let i = 0; i < n; i++) {
 
        // Printing all elements in ith 1-D array
        for (let j = 0; j < m; j++) {
 
            // Printing jth element of ith row
           document.write(arr[i][j] + " ");
        }
        document.write("<br>");
    }
     
    // This code is contributed by satwik4409.
    </script>


Output

3 2 7 
2 6 8 
5 1 9 

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


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 2*2*2
        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 2*2*2
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




<script>
// Driver code
 
    // Consider 3-D array of dimensions 2*2*2
    let x = 2;
    let  y = 2;
    let  z = 2;
    let arr = [ [ [1, 2 ], [ 3, 4 ] ],
                        [ [ 5, 6 ], [ 7, 8 ] ] ];
 
    // Iterating over each 2-D array in 3-D array
    for (let i = 0; i < x; i++) {
         document.write( "Inside " + (i + 1)
             + " 2D array in 3-D array" );
        document.write("<br>");
         
        // Iterating over each 1-D array
        for (let j = 0; j < y; j++) {
            document.write( "Inside " + (j + 1)
              +" 1D array of the 2-D array" );
               document.write("<br>");
 
            // Iterating over each element in 1-D array
            for (let k = 0; k < z; k++) {
                 document.write( arr[i][j][k] + " ");
            }
           document.write("<br>");
        }
        document.write("<br>");
    }
     
    // This code is contributed by satwik4409.
    </script>


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)


Feeling lost in the world of random DSA topics, wasting time without progress? It's time for a change! Join our DSA course, where we'll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 geeks!

Last Updated : 07 Nov, 2022
Like Article
Save Article
Similar Reads
Related Tutorials