Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Row wise sorting in 2D array

  • Difficulty Level : Easy
  • Last Updated : 06 Jul, 2021

Given a 2D array, sort each row of this array and print the result.
Examples: 

Input :
77 11 22 3
11 89 1 12
32 11 56 7
11 22 44 33
Output :
3 11 22 77
1 11 12 89
7 11 32 56
11 22 33 44

Input :
8 6 4 5
3 5 2 1
9 7 4 2
7 8 9 5
Output :
4 5 6 8
1 2 3 5
2 4 7 9
5 7 8 9

Method 1 (Using Bubble Sort) 
Start iterating through each row of the given 2D array, and sort elements of each row using an efficient sorting algorithm. 
 

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

C++




// C++ code to
// sort 2D matrix row-wise
#include<bits/stdc++.h>
using namespace std;
 
void sortRowWise(int m[][4],
                 int r, int c)
{
  // loop for rows of matrix
  for (int i = 0; i < r; i++)
  {
    // loop for column of matrix
    for (int j = 0; j < c; j++)
    {
      // loop for comparison and swapping
      for (int k = 0; k < c - j - 1; k++)
      {
        if (m[i][k] > m[i][k + 1])
        {
          // swapping of elements
          swap(m[i][k], m[i][k + 1]);
        }
      }
    }
  }
 
  // printing the sorted matrix
  for (int i = 0; i < r; i++)
  {
    for (int j = 0; j < c; j++)
      cout << m[i][j] << " ";
    cout << endl;
  }
}
 
// Driver code
int main()
{
  int m[][4] = {{9, 8, 7, 1},
                {7, 3, 0, 2},
                {9, 5, 3, 2},
                {6, 3, 1, 2}};
  int c = sizeof(m[0]) / sizeof(m[0][0]);
  int r = sizeof(m) / sizeof(m[0]);
  sortRowWise(m, r, c);
  return 0;
}
 
// This code is contributed by Rutvik_56

Java




// Java code to sort 2D matrix row-wise
import java.io.*;
 
public class Sort2DMatrix {
 
    static int sortRowWise(int m[][])
    {
        // loop for rows of matrix
        for (int i = 0; i < m.length; i++) {
 
            // loop for column of matrix
            for (int j = 0; j < m[i].length; j++) {
 
                // loop for comparison and swapping
                for (int k = 0; k < m[i].length - j - 1; k++) {
                    if (m[i][k] > m[i][k + 1]) {
 
                        // swapping of elements
                        int t = m[i][k];
                        m[i][k] = m[i][k + 1];
                        m[i][k + 1] = t;
                    }
                }
            }
        }
 
        // printing the sorted matrix
        for (int i = 0; i < m.length; i++) {
            for (int j = 0; j < m[i].length; j++)
                System.out.print(m[i][j] + " ");
            System.out.println();
        }
 
        return 0;
    }
 
    // driver code
    public static void main(String args[])
    {
        int m[][] = { { 9, 8, 7, 1 },
                      { 7, 3, 0, 2 },
                      { 9, 5, 3, 2 },
                      { 6, 3, 1, 2 } };
        sortRowWise(m);
    }
}

Python3




# Python3 code to sort 2D matrix row-wise
def sortRowWise(m):
     
    # loop for rows of matrix
    for i in range(len(m)):
         
        # loop for column of matrix
        for j in range(len(m[i])):
             
            # loop for comparison and swapping
            for k in range(len(m[i]) - j - 1):
                 
                if (m[i][k] > m[i][k + 1]):
                     
                    # swapping of elements
                    t = m[i][k]
                    m[i][k] = m[i][k + 1]
                    m[i][k + 1] = t
                     
    # printing the sorted matrix
    for i in range(len(m)):
        for j in range(len(m[i])):
            print(m[i][j], end=" ")
        print()
 
# Driver code
m = [[9, 8, 7, 1 ],[7, 3, 0, 2],[9, 5, 3, 2],[ 6, 3, 1, 2 ]]
sortRowWise(m)
 
# This code is contributed by shubhamsingh10

C#




// C# code to sort 2D matrix row-wise
using System;
 
class GFG
{
static int sortRowWise(int [,]m)
{
    // loop for rows of matrix
    for (int i = 0;
             i < m.GetLength(0); i++)
    {
 
        // loop for column of matrix
        for (int j = 0;
                 j < m.GetLength(1); j++)
        {
 
            // loop for comparison and swapping
            for (int k = 0;
                     k < m.GetLength(1) - j - 1; k++)
            {
                if (m[i, k] > m[i, k + 1])
                {
 
                    // swapping of elements
                    int t = m[i, k];
                    m[i, k] = m[i, k + 1];
                    m[i, k + 1] = t;
                }
            }
        }
    }
 
    // printing the sorted matrix
    for (int i = 0;
             i < m.GetLength(0); i++)
    {
        for (int j = 0;
                 j < m.GetLength(1); j++)
            Console.Write(m[i, j] + " ");
        Console.WriteLine();
    }
    return 0;
}
 
// Driver Code
public static void Main(String []args)
{
    int [,]m = {{ 9, 8, 7, 1 },
                { 7, 3, 0, 2 },
                { 9, 5, 3, 2 },
                { 6, 3, 1, 2 }};
    sortRowWise(m);
}
}
 
// This code is contributed by 29AjayKumar

Javascript




<script>
 
// JavaScript Program to sort 2D matrix row-wise
 
    function sortRowWise(m)
    {
        // loop for rows of matrix
        for (let i = 0; i < m.length; i++) {
  
            // loop for column of matrix
            for (let j = 0; j < m[i].length; j++) {
  
                // loop for comparison and swapping
                for (let k = 0; k < m[i].length - j - 1; k++) {
                    if (m[i][k] > m[i][k + 1]) {
  
                        // swapping of elements
                        let t = m[i][k];
                        m[i][k] = m[i][k + 1];
                        m[i][k + 1] = t;
                    }
                }
            }
        }
  
        // printing the sorted matrix
        for (let i = 0; i < m.length; i++) {
            for (let j = 0; j < m[i].length; j++)
                document.write(m[i][j] + " ");
            document.write("<br/>");
        }
  
        return 0;
    }
 
// Driver code
 
        let m = [[ 9, 8, 7, 1 ],
                      [ 7, 3, 0, 2 ],
                      [ 9, 5, 3, 2 ],
                      [ 6, 3, 1, 2 ]];
        sortRowWise(m);
 
// This code is contributed by sanjoy_62.
</script>
Output
1 7 8 9 
0 2 3 7 
2 3 5 9 
1 2 3 6 

Method 2 (Using Library Function) 
The idea is to use Arrays.sort() for every row of the matrix.
 

C++




// C++ code to sort 2D
// matrix row-wise
#include <bits/stdc++.h>
using namespace std;
#define M 4
#define N 4
 
int sortRowWise(int m[M][N])
{
  // One by one sort
  // individual rows.
  for (int i = 0; i < M; i++)
    sort(m[i], m[i] + N);
 
  // Printing the sorted matrix
  for (int i = 0; i < M; i++)
  {
    for (int j = 0; j < N; j++)
      cout << (m[i][j]) << " ";
    cout << endl;
  }
}
 
// Driver code
int main()
{
  int m[M][N] = {{9, 8, 7, 1},
                 {7, 3, 0, 2},
                 {9, 5, 3, 2},
                 {6, 3, 1, 2}};
  sortRowWise(m);
}
 
// This code is contributed by gauravrajput1

Java




// Java code to sort 2D matrix row-wise
import java.io.*;
import java.util.Arrays;
 
public class Sort2DMatrix {
 
    static int sortRowWise(int m[][])
    {
        // One by one sort individual rows.
        for (int i = 0; i < m.length; i++)
            Arrays.sort(m[i]);
 
        // printing the sorted matrix
        for (int i = 0; i < m.length; i++) {
            for (int j = 0; j < m[i].length; j++)
                System.out.print(m[i][j] + " ");
            System.out.println();
        }
 
        return 0;
    }
 
    // driver code
    public static void main(String args[])
    {
        int m[][] = { { 9, 8, 7, 1 },
                      { 7, 3, 0, 2 },
                      { 9, 5, 3, 2 },
                      { 6, 3, 1, 2 } };
 
        sortRowWise(m);
    }
}

Python3




# Python3 code to sort 2D matrix row-wise
def sortRowWise(m):
     
    # One by one sort individual rows.
    for i in range(len(m)):
        m[i].sort()
         
    # printing the sorted matrix
    for i in range(len(m)):
        for j in range(len(m[i])):
            print(m[i][j], end=" ")
        print()
         
    return 0
 
# Driver code
m = [[9, 8, 7, 1 ],[7, 3, 0, 2],[9, 5, 3, 2 ],[ 6, 3, 1, 2]]
 
sortRowWise(m)
 
# This code is contributed by shubhamsingh10

C#




// C# code to sort 2D
// matrix row-wise
 
using System;
using System.Collections.Generic;
class Sort2DMatrix{
   
public static int[] GetRow(int[,] matrix,
                           int row)
{
  var rowLength = matrix.GetLength(1);
  var rowVector = new int[rowLength];
  for (var i = 0; i < rowLength; i++)
    rowVector[i] = matrix[row, i];
 
  return rowVector;
}
   
static int sortRowWise(int [,]m)
{
  // One by one sort individual
  // rows.
  for (int i = 0;
           i < m.GetLength(0); i++)
  {
    for (int k = 0;
             k < m.GetLength(1); k++)
      for (int j = 0;
               j < m.GetLength(1) - k - 1; j++)
        if (m[i, j] > m[i, j + 1])
        {
          // swap temp and arr[i]
          int temp = m[i, j];
          m[i, j] = m[i, j + 1];
          m[i, j + 1] = temp;
        }
  }
 
  // Printing the sorted matrix
  for (int i = 0;
           i < m.GetLength(0); i++)
  {
    for (int j = 0;
             j < m.GetLength(1); j++)
      Console.Write(m[i, j] + " ");
    Console.WriteLine();
  }
 
  return 0;
}
 
// Driver code
public static void Main(String []args)
{
  int [,]m = {{9, 8, 7, 1},
              {7, 3, 0, 2},
              {9, 5, 3, 2},
              {6, 3, 1, 2}};
  sortRowWise(m);
}
}
 
// This code is contributed by gauravrajput1

Javascript




<script>
 
// JavaScript code to sort 2D
// matrix row-wise
 
   
function GetRow(matrix, row)
{
  var rowLength = matrix[0].length;
  var rowVector = new int[rowLength];
  for (var i = 0; i < rowLength; i++)
    rowVector[i] = matrix[row][i];
 
  return rowVector;
}
   
function sortRowWise(m)
{
  // One by one sort individual
  // rows.
  for (var i = 0;
           i < m.length; i++)
  {
    for (var k = 0;
             k < m[0].length; k++)
      for (var j = 0;
               j < m[0].length - k - 1; j++)
        if (m[i][j] > m[i][j + 1])
        {
          // swap temp and arr[i]
          var temp = m[i][j];
          m[i][j] = m[i][j + 1];
          m[i][j + 1] = temp;
        }
  }
 
  // Printing the sorted matrix
  for (var i = 0;
           i < m.length; i++)
  {
    for (var j = 0;
             j < m[0].length; j++)
      document.write(m[i][j] + " ");
    document.write("<br>");
  }
 
  return 0;
}
 
// Driver code
var m = [[9, 8, 7, 1],
            [7, 3, 0, 2],
            [9, 5, 3, 2],
            [6, 3, 1, 2]];
sortRowWise(m);
 
</script>
Output
1 7 8 9 
0 2 3 7 
2 3 5 9 
1 2 3 6 



My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!