Row wise sorting in 2D array

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
Implementation:
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 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
// 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
# 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#
// 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 |
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
Time Complexity: O(r*c*max(r,c))
Auxiliary Space: O(1), since no extra space has been taken.
Method 2 (Using Library Function): The idea is to use Arrays.sort() for every row of the matrix.
Implementation:
C++
// C++ code to sort 2D // matrix row-wise#include <bits/stdc++.h>using namespace std;#define M 4#define N 4int 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
// 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
# 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#
// C# code to sort 2D // matrix row-wiseusing 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 |
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 codevar 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
Time Complexity: O(r*c*log(c))
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 zambiatek!
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



