Kuidas sortida 2d massiivi Javas

Kuidas Sortida 2d Massiivi Javas



Kahemõõtmeline või 2D massiiv on veergude ja ridade kogum. Programmeerijad saavad juhuslikult juurde pääseda 2D-massiivi elementidele või igale lahtrile eraldi, kasutades nende indekseid. Sorteerimise abil järjestatakse massiivi elemendid vastavalt nõuetele, olgu siis kasvavas või kahanevas järjekorras. Täpsemalt Java ' Array.sort() ” saab kasutada programmi 2D-massiivi elementide jaoks.

Selles õpetuses käsitletakse 2D-massiivide sortimist Javas.

Kuidas sortida 2D-massiivi Javas?

Javas saate 2D-massiivi sortida, kasutades:







Nüüd käsitleme kõiki nimetatud meetodeid ükshaaval.



1. meetod: 2D-massiivi reapõhine sortimine Javas

Reapõhises sortimises saate kasutada ' Array.sort() ” meetod massiivi elementide sortimiseks. See kordab konkreetse rea iga elementi ja vahetab täisarvud, kui praegune element on suurem kui järgmine.



Rakenduse poole mõistmiseks vaatame näidet.





Näide
Selles näites loome kõigepealt staatilise meetodi ' rowWiseSorting() ' massiivi järjestamiseks kasvavas järjekorras, helistades ' Massiivid.sort() ' meetodit massiivid klassi ja seejärel printige massiivi sorteeritud elemendid kasutades ' jaoks 'silmused:

staatiline int rowWiseSorting ( int arr [ ] [ ] ) {
jaoks ( int i = 0 ; i < arr. pikkus ; i ++ ) {
Massiivid. sorteerida ( arr [ i ] ) ;
}
jaoks ( int i = 0 ; i < arr. pikkus ; i ++ ) {
jaoks ( int j = 0 ; j < arr [ i ] . pikkus ; j ++ ) {
Süsteem. välja . printida ( arr [ i ] [ j ] + ' ' ) ;
}
Süsteem. välja . println ( ) ;
}
tagasi 0 ;
}

Siin on meil 2D massiiv nimega ' arr ” 3×3 maatriksvormiga (kolm rida ja kolm veergu). Nüüd kutsume loodud massiivi ridade sortimiseks meetodi ' rowWiseSorting() ', edastades massiivi argumendina meetodi main() korral:



avalik staatiline tühine peamine ( String [ ] args ) {
int arr [ ] [ ] = uus int [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , kakskümmend } ,
{ 28 , 25 , 8 } ,
{ üksteist , 5 , 1 } } ;
rowWiseSorting ( arr ) ;
}
}

Nagu näete, oleme oma massiivi järjestanud kasvavas järjekorras:

Kas soovite proovida Java-s veerupõhist sorteerimist? Vaadake järgmist jaotist.

2. meetod: 2D-massiivi veerupõhine sortimine Javas

Javas 2D-massiivi veerupõhiseks sortimiseks helistage Massiivid.sort() ' meetod koos ' Võrdleja liides ”. Võrdleja liides määratleb ' võrdlema() ” meetod, mis aktsepteerib kahte parameetrit ja seejärel võrdleb neid omavahel. Kui edastatud parameetrid on võrdsed, tagastab see nulli. Kui 1. parameeter on suurem kui 2. parameeter, tagastab see positiivse väärtuse. Kui ei, tagastatakse negatiivne väärtus.

Näide
Selles näites loome meetodi nimega ' veergWiseSorting() ' kahe argumendiga 2D massiiv ' arr[][] ' ja veeru number nimega ' ülevaadet ”. Seejärel helistage ' Massiivid.sort() ' meetod koos ' Võrdleja liides ', et võrrelda veeru väärtusi. Lõpuks prindime massiivi sorteeritud veeru väärtused kasutades ' jaoks 'silmused:

staatiline tühine veergWiseSorting ( int arr [ ] [ ] , int ülevaadet ) {
Massiivid. sorteerida ( arr , uus Võrdleja < int [ ] > ( ) {
avalik int võrdlema ( int [ ] esimene , int [ ] scnd ) {
kui ( esimene [ ülevaadet - 1 ] > scnd [ ülevaadet - 1 ] ) {
tagasi 1 ;
}
muidu tagasi - 1 ;
}
} ) ;
}
jaoks ( int i = 0 ; i < arr. pikkus ; i ++ ) {
jaoks ( int j = 0 ; j < arr [ i ] . pikkus ; j ++ ) {
Süsteem. välja . printida ( arr [ i ] [ j ] + ' ' ) ;
}
Süsteem. välja . println ( ) ;
}

Kasutame juba loodud massiivi nimega ' arr ja edastage see jaotisele veergWiseSorting() ' esimese parameetrina ja ' 1 ” teise parameetrina:

veergWiseSorting ( arr , 1 ) ;

Ülaltoodud programmi täitmine sorteerib meie 2D-massiivi esimese veeru:

Kogume Java 2D-massiivi sortimiseks kogu olulise teabe.

Järeldus

Javas saab 2D-massiivi vastavalt nõuetele sortida ridade või veergude kaupa. Reapõhiseks sortimiseks kasutatakse ainult meetodit Array.sort(); veerupõhises sortimises kutsutakse aga meetodit Array.sort() koos Comparator liidesega. Reapõhise sortimise korral ei edastata meetodile Array.sort() ühtegi parameetrit, samas kui veerupõhise sortimise meetodi puhul mainitakse parameetrina sortimist vajavate veergude arvu. Selles õpetuses käsitleti 2D-massiivi sortimise meetodeid Java-s näidetega.