Row wise sorting in 2D array - GeeksforGeeks

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.  
C++
Java
Python3
C#
Javascript
// 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 codeint 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 code to sort 2D matrix row-wiseimport 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 code to sort 2D matrix row-wisedef 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 codem = [[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# code to sort 2D matrix row-wiseusing 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 Codepublic 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
<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>
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++
Java
Python3
C#
Javascript
// 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 codeint 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 code to sort 2D matrix row-wiseimport 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 code to sort 2D matrix row-wisedef 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 codem = [[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# 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 codepublic 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
<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 codevar m = [[9, 8, 7, 1],            [7, 3, 0, 2],            [9, 5, 3, 2],            [6, 3, 1, 2]];sortRowWise(m); </script>
1 7 8 9 
0 2 3 7 
2 3 5 9 
1 2 3 6 
Kadhir M
29AjayKumar
SHUBHAMSINGH10
rutvik_56
GauravRajput1
sanjoy_62
pratyushsingh034
noob2000
Java-Arrays
Matrix
Sorting
Sorting
Matrix
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Sudoku | Backtracking-7
Divide and Conquer | Set 5 (Strassen's Matrix Multiplication)
Program to multiply two matrices
Inplace rotate square matrix by 90 degrees | Set 1
Min Cost Path | DP-6