Dada una array 2D, ordene cada fila de esta array e imprima el resultado.
Ejemplos:
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
Método 1 (usando Bubble Sort)
Comience iterando a través de cada fila de la array 2D dada y clasifique los elementos de cada fila usando un algoritmo de clasificación eficiente.
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>
Producción
1 7 8 9 0 2 3 7 2 3 5 9 1 2 3 6
Complejidad de tiempo: O(r*c*max(r,c))
Espacio auxiliar: O(1)
Método 2 (usando la función de biblioteca)
La idea es usar Arrays.sort() para cada fila de la array.
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>
Producción
1 7 8 9 0 2 3 7 2 3 5 9 1 2 3 6
Complejidad de tiempo: O(r*c*log(c))
Espacio auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por Shivani2609 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA