Kako razvrstiti 2d matriko v Javi

Kako Razvrstiti 2d Matriko V Javi



Dvodimenzionalni ali 2D niz je zbirka stolpcev in vrstic. Programerji lahko naključno dostopajo do elementov 2D matrike ali vsake celice posebej z uporabo njihovih indeksov. S pomočjo razvrščanja se elementi niza razporedijo glede na zahteve, bodisi v naraščajočem ali padajočem vrstnem redu. Natančneje, Java ' Array.sort() ” se lahko uporabi za elemente 2D polja znotraj programa.

Ta vadnica bo razpravljala o tem, kako razvrstiti 2D nize v Javi.

Kako razvrstiti 2D matriko v Javi?

V Javi lahko 2D matriko razvrstite z:







Zdaj bomo obravnavali vsako od omenjenih metod eno za drugo.



1. način: Razvrščanje 2D matrike v Javi po vrsticah

Pri razvrščanju po vrsticah lahko uporabite » Array.sort() ” za razvrščanje elementov polja. Ponavlja vsak element določene vrstice in zamenja cela števila, ko je trenutni element večji od naslednjega.



Oglejmo si primer, da bomo razumeli stran izvedbe.





Primer
V tem primeru bomo najprej ustvarili statično metodo ' rowWiseSorting() «, da razvrstite matriko v naraščajočem vrstnem redu s klicem » Arrays.sort() ” razreda Arrays in nato natisnite razvrščene elemente matrike z uporabo za ” zanke:

statična int rowWiseSorting ( int prir [ ] [ ] ) {
za ( int jaz = 0 ; jaz < prir. dolžina ; jaz ++ ) {
Nizi. vrsta ( prir [ jaz ] ) ;
}
za ( int jaz = 0 ; jaz < prir. dolžina ; jaz ++ ) {
za ( int j = 0 ; j < prir [ jaz ] . dolžina ; j ++ ) {
Sistem. ven . tiskanje ( prir [ jaz ] [ j ] + ' ' ) ;
}
Sistem. ven . println ( ) ;
}
vrnitev 0 ;
}

Tukaj imamo 2D niz z imenom ' prir ” matrične oblike 3×3 (tri vrstice in trije stolpci). Zdaj, da razvrstimo vrstice ustvarjene matrike, bomo poklicali metodo ' rowWiseSorting() ” s posredovanjem matrike kot argumenta v metodi main():



javnosti statična praznina glavni ( Vrvica [ ] args ) {
int prir [ ] [ ] = novo int [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , dvajset } ,
{ 28 , 25 , 8 } ,
{ enajst , 5 , 1 } } ;
rowWiseSorting ( prir ) ;
}
}

Kot lahko vidite, smo našo matriko razvrstili v naraščajočem vrstnem redu:

Želite preizkusiti razvrščanje po stolpcih v Javi? Oglejte si naslednji razdelek.

2. način: Razvrščanje 2D matrike v Javi po stolpcih

Če želite 2D matriko v Javi razvrstiti po stolpcu, pokličite » Arrays.sort() ' metoda z ' Vmesnik primerjalnika ”. Vmesnik primerjalnika definira ' primerjaj() ” metoda, ki sprejme dva parametra in ju nato primerja med seboj. Če so posredovani parametri enaki, vrne nič. Če je 1. parameter večji od 2. parametra, vrne pozitivno vrednost. Če ni, je vrnjena negativna vrednost.

Primer
V tem primeru bomo ustvarili metodo z imenom ' columnWiseSorting() ' z dvema argumentoma, 2D niz ' prihod [][] « in številko stolpca z imenom » pregled ”. Nato pokličite » Arrays.sort() ' metoda z ' Vmesnik primerjalnika ” za primerjavo vrednosti stolpca. Na koncu bomo natisnili vrednosti razvrščenega stolpca matrike z uporabo ' za ” zanke:

statična praznina columnWiseSorting ( int prir [ ] [ ] , int pregled ) {
Nizi. vrsta ( prir , novo Primerjalnik < int [ ] > ( ) {
javnosti int primerjati ( int [ ] prvi , int [ ] scnd ) {
če ( prvi [ pregled - 1 ] > scnd [ pregled - 1 ] ) {
vrnitev 1 ;
}
drugače vrnitev - 1 ;
}
} ) ;
}
za ( int jaz = 0 ; jaz < prir. dolžina ; jaz ++ ) {
za ( int j = 0 ; j < prir [ jaz ] . dolžina ; j ++ ) {
Sistem. ven . tiskanje ( prir [ jaz ] [ j ] + ' ' ) ;
}
Sistem. ven . println ( ) ;
}

Uporabili bomo že ustvarjeno matriko z imenom ' prir « in ga posredujte » columnWiseSorting() ' kot prvi parameter in ' 1 ” kot drugi parameter:

columnWiseSorting ( prir , 1 ) ;

Izvedba zgoraj navedenega programa bo razvrstila prvi stolpec naše 2D matrike:

Zberemo vse bistvene informacije za razvrščanje 2D matrike v Javi.

Zaključek

V Javi je 2D matriko mogoče razvrstiti po vrsticah ali stolpcih glede na zahteve. Za razvrščanje po vrsticah se uporablja samo metoda Array.sort(); vendar se pri razvrščanju po stolpcu metoda Array.sort() pokliče z vmesnikom Comparator. Pri razvrščanju po vrsticah metodi Array.sort() ni posredovan noben parameter, medtem ko je pri metodi razvrščanja po stolpcu kot parameter navedeno število stolpcev, ki jih je treba razvrstiti. Ta vadnica je obravnavala metode za razvrščanje 2D matrike v Javi s primeri.