Com ordenar la matriu 2d a Java

Com Ordenar La Matriu 2d A Java



Una matriu bidimensional o 2D és una col·lecció de columnes i files. Els programadors poden accedir aleatòriament als elements de la matriu 2D o a cada cel·la individualment utilitzant els seus índexs. Amb l'ajuda de l'ordenació, els elements de la matriu s'organitzen segons els requisits, ja sigui en ordre ascendent o descendent. Més concretament, el Java ' Array.sort() ” es pot utilitzar per als elements d'una matriu 2D dins d'un programa.

Aquest tutorial tractarà com ordenar matrius 2D a Java.

Com ordenar la matriu 2D a Java?

A Java, podeu ordenar una matriu 2D mitjançant:







Ara parlarem de cadascun dels mètodes esmentats un per un.



Mètode 1: ordenació per fila de matriu 2D a Java

En l'ordenació per fila, podeu utilitzar el ' Array.sort() ” mètode per ordenar els elements de la matriu. Itera cada element d'una fila específica i intercanvia els nombres enters quan l'element actual és més gran que el següent.



Vegem un exemple per entendre el costat de la implementació.





Exemple
En aquest exemple, primer crearem un mètode estàtic ' rowWiseSorting() ” per ordenar la matriu en ordre ascendent cridant “ Arrays.sort() ” de la classe Arrays i després imprimiu els elements ordenats de la matriu amb “ per 'bucles:

estàtica int rowWiseSorting ( int arr [ ] [ ] ) {
per ( int i = 0 ; i < arr. llargada ; i ++ ) {
Arrays. ordenar ( arr [ i ] ) ;
}
per ( int i = 0 ; i < arr. llargada ; i ++ ) {
per ( int j = 0 ; j < arr [ i ] . llargada ; j ++ ) {
Sistema. fora . imprimir ( arr [ i ] [ j ] + ' ' ) ;
}
Sistema. fora . imprimirln ( ) ;
}
tornar 0 ;
}

Aquí, tenim una matriu 2D anomenada ' arr ” de forma matricial 3×3 (tres files i tres columnes). Ara, per ordenar les files de la matriu creada, anomenarem el mètode ' rowWiseSorting() ” passant array com a argument al mètode main():



públic estàtica buit principal ( Corda [ ] args ) {
int arr [ ] [ ] = nou int [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , 20 } ,
{ 28 , 25 , 8 } ,
{ 11 , 5 , 1 } } ;
rowWiseSorting ( arr ) ;
}
}

Com podeu veure, hem ordenat la nostra matriu en ordre ascendent:

Voleu provar l'ordenació per columnes a Java? Fes una ullada a la secció següent.

Mètode 2: ordenació per columnes de matriu 2D a Java

Per ordenar per columnes una matriu 2D a Java, truqueu a ' Arrays.sort() ' mètode amb un ' Interfície de comparació ”. Una interfície de comparador defineix un ' compara () ” mètode que accepta dos paràmetres i després els compara entre ells. Si els paràmetres passats són iguals, retorna zero. Si el 1r paràmetre és més gran que el 2n, retorna un valor positiu. Si no, es retorna un valor negatiu.

Exemple
En aquest exemple, crearem un mètode anomenat ' columnWiseSorting() 'amb dos arguments, una matriu 2D' arr[][] ” i un número de columna anomenat “ visió general ”. Llavors, crida al ' Arrays.sort() ' mètode amb el ' Interfície de comparació ” per comparar els valors d'una columna. Finalment, imprimirem els valors de la columna ordenada de la matriu utilitzant “ per 'bucles:

estàtica buit columnWiseSorting ( int arr [ ] [ ] , int visió general ) {
Arrays. ordenar ( arr , nou Comparador < int [ ] > ( ) {
públic int comparar ( int [ ] primer , int [ ] scnd ) {
si ( primer [ visió general - 1 ] > scnd [ visió general - 1 ] ) {
tornar 1 ;
}
altra cosa tornar - 1 ;
}
} ) ;
}
per ( int i = 0 ; i < arr. llargada ; i ++ ) {
per ( int j = 0 ; j < arr [ i ] . llargada ; j ++ ) {
Sistema. fora . imprimir ( arr [ i ] [ j ] + ' ' ) ;
}
Sistema. fora . imprimirln ( ) ;
}

Utilitzarem la matriu ja creada anomenada ' arr ' i passa-ho a ' columnWiseSorting() ' com a primer paràmetre i ' 1 ” com a segon paràmetre:

columnWiseSorting ( arr , 1 ) ;

L'execució del programa anterior ordenarà la primera columna de la nostra matriu 2D:

Recopilem tota la informació essencial per ordenar la matriu 2D a Java.

Conclusió

A Java, una matriu 2D es pot ordenar per fila o columna segons els requisits. Per a l'ordenació per files, només s'utilitza el mètode Array.sort(); tanmateix, en l'ordenació per columnes, el mètode Array.sort() s'anomena amb la interfície Comparator. Per a l'ordenació per files, no es passa cap paràmetre al mètode Array.sort(), mentre que, en el mètode d'ordenació per columnes, el nombre de columnes que s'han d'ordenar s'esmenta com a paràmetre. Aquest tutorial va parlar dels mètodes per ordenar la matriu 2D a Java amb exemples.