Kuinka lajitella 2d-taulukko Javassa

Kuinka Lajitella 2d Taulukko Javassa



Kaksiulotteinen tai 2D-taulukko on kokoelma sarakkeita ja rivejä. Ohjelmoijat voivat satunnaisesti käyttää 2D-taulukon elementtejä tai jokaista solua erikseen käyttämällä niiden indeksejä. Lajittelun avulla taulukon elementit järjestetään vaatimusten mukaan joko nousevaan tai laskevaan järjestykseen. Tarkemmin sanottuna Java ' Array.sort() ” voidaan käyttää 2D-taulukon elementteihin ohjelman sisällä.

Tämä opetusohjelma käsittelee 2D-taulukoiden lajittelua Javassa.

Kuinka lajitella 2D-taulukko Javassa?

Javassa voit lajitella 2D-taulukon käyttämällä:







Käsittelemme nyt jokaista mainituista menetelmistä yksitellen.



Tapa 1: 2D-taulukon rivikohtainen lajittelu Javassa

Rivikohtaisessa lajittelussa voit hyödyntää ' Array.sort() ' -menetelmää taulukon elementtien lajitteluun. Se iteroi tietyn rivin jokaisen elementin ja vaihtaa kokonaisluvut, kun nykyinen elementti on suurempi kuin seuraava.



Katsotaanpa esimerkkiä, jotta ymmärrämme toteutuspuolen.





Esimerkki
Tässä esimerkissä luomme ensin staattisen menetelmän ' rowWiseSorting() ' lajitellaksesi taulukon nousevaan järjestykseen kutsumalla ' Arrays.sort() ' -menetelmällä Arrays-luokassa ja tulosta sitten taulukon lajitellut elementit käyttämällä ' varten 'silmukat:

staattinen int rowWiseSorting ( int arr [ ] [ ] ) {
varten ( int i = 0 ; i < arr. pituus ; i ++ ) {
Taulukot. järjestellä ( arr [ i ] ) ;
}
varten ( int i = 0 ; i < arr. pituus ; i ++ ) {
varten ( int j = 0 ; j < arr [ i ] . pituus ; j ++ ) {
Järjestelmä. ulos . Tulosta ( arr [ i ] [ j ] + ' ' ) ;
}
Järjestelmä. ulos . println ( ) ;
}
palata 0 ;
}

Täällä meillä on 2D-taulukko nimeltä ' arr ” 3×3 matriisimuodossa (kolme riviä ja kolme saraketta). Nyt, lajitellaksesi luodun taulukon rivit, kutsumme menetelmää ' rowWiseSorting() ' välittämällä taulukon argumenttina main()-menetelmässä:



julkinen staattinen mitätön pää ( merkkijono [ ] args ) {
int arr [ ] [ ] = Uusi int [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , kaksikymmentä } ,
{ 28 , 25 , 8 } ,
{ yksitoista , 5 , 1 } } ;
rowWiseSorting ( arr ) ;
}
}

Kuten näet, olemme lajitellut taulukkomme nousevaan järjestykseen:

Haluatko kokeilla sarakekohtaista lajittelua Javassa? Katso seuraava osio.

Tapa 2: 2D-taulukon sarakekohtainen lajittelu Javassa

Jos haluat lajitella 2D-taulukon sarakekohtaisesti Javassa, kutsu ' Arrays.sort() ' menetelmä ' Vertailun käyttöliittymä ”. Comparator-käyttöliittymä määrittelee ' vertailla() ” menetelmä, joka hyväksyy kaksi parametria ja vertaa niitä sitten keskenään. Jos välitetyt parametrit ovat yhtä suuret, se palauttaa nollan. Jos 1. parametri on suurempi kuin 2. parametri, se palauttaa positiivisen arvon. Jos ei, palautetaan negatiivinen arvo.

Esimerkki
Tässä esimerkissä luomme menetelmän nimeltä ' sarakeWiseSorting() 'kahdella argumentilla, 2D-taulukko' arr[][] ' ja sarakkeen numero nimeltä ' yleiskatsaus ”. Soita sitten ' Arrays.sort() ' menetelmällä ' Vertailun käyttöliittymä ” vertaillaksesi sarakkeen arvoja. Lopuksi tulostamme taulukon lajitellun sarakkeen arvot käyttämällä ' varten 'silmukat:

staattinen mitätön sarakeWiseSorting ( int arr [ ] [ ] , int yleiskatsaus ) {
Taulukot. järjestellä ( arr , Uusi Vertailija < int [ ] > ( ) {
julkinen int vertailla ( int [ ] ensimmäinen , int [ ] scnd ) {
jos ( ensimmäinen [ yleiskatsaus - 1 ] > scnd [ yleiskatsaus - 1 ] ) {
palata 1 ;
}
muu palata - 1 ;
}
} ) ;
}
varten ( int i = 0 ; i < arr. pituus ; i ++ ) {
varten ( int j = 0 ; j < arr [ i ] . pituus ; j ++ ) {
Järjestelmä. ulos . Tulosta ( arr [ i ] [ j ] + ' ' ) ;
}
Järjestelmä. ulos . println ( ) ;
}

Käytämme jo luotua taulukkoa nimeltä ' arr ja välitä se sarakeWiseSorting() ' ensimmäisenä parametrina ja ' 1 ' toisena parametrina:

sarakeWiseSorting ( arr , 1 ) ;

Yllä annetun ohjelman suorittaminen lajittelee 2D-taulukon ensimmäisen sarakkeen:

Kokoamme kaikki olennaiset tiedot 2D-taulukon lajittelemiseksi Javassa.

Johtopäätös

Javassa 2D-taulukko voidaan lajitella rivi- tai sarakekohtaisesti vaatimusten mukaan. Rivikohtaisessa lajittelussa käytetään vain Array.sort() -menetelmää; sarakekohtaisessa lajittelussa Array.sort()-metodia kutsutaan kuitenkin Comparator-liittymässä. Rivikohtaisessa lajittelussa parametria ei välitetä Array.sort()-menetelmään, kun taas sarakekohtaisessa lajittelussa parametrina mainitaan lajitettavien sarakkeiden määrä. Tässä opetusohjelmassa käsiteltiin menetelmiä 2D-taulukon lajittelemiseksi Javassa esimerkkien avulla.