Hvordan sortere 2D -matrise i Java

Hvordan sortere 2D -matrise i Java
En todimensjonal eller 2D-matrise er en samling kolonner og rader. Programmerere kan tilfeldig få tilgang til 2D -arrayelementene eller hver celle individuelt ved å bruke indeksene. Ved hjelp av sortering blir arrayelementer ordnet i henhold til kravene, enten det er i stigende eller synkende rekkefølge. Mer spesifikt, java “Array.sortere()”Kan brukes til elementene i en 2D -matrise i et program.

Denne opplæringen vil diskutere hvordan du sorterer 2D -matriser i Java.

Hvordan sortere 2D -matrise i Java?

I Java kan du sortere en 2D -matrise ved hjelp av:

  • Radmessig sortering
  • Kolonnemessig sortering

Vi vil nå diskutere hver av de nevnte metodene en etter en.

Metode 1: radmessig sortering av 2D-matrise i Java

I radmessig sortering kan du bruke "Array.sortere()”Metode for å sortere matriseelementene. Det itererer hvert element i en bestemt rad og bytter heltallene når det nåværende elementet er større enn det neste.

La oss sjekke ut et eksempel for å forstå implementeringssiden.

Eksempel
I dette eksemplet vil vi først lage en statisk metode "RowWisesorting ()”For å sortere matrisen i stigende rekkefølge ved å ringe“Matriser.sortere()”Metode for Arrays -klassen og skriv deretter ut de sorterte elementene i Array ved å bruke“til”Løkker:

statisk int radwisesorting (int arr [] [])
for (int i = 0; i < arr.length; i++)
Matriser.sorter (arr [i]);

for (int i = 0; i < arr.length; i++)
for (int j = 0; j < arr[i].length; j++)
System.ute.print (arr [i] [j] + "");

System.ute.println ();

retur 0;

Her har vi en 2D -matrise som heter “arr”Av 3 × 3 matriseform (tre rader og tre kolonner). Nå, for å sortere radene med den opprettede matrisen, vil vi kalle metoden "RowWisesorting ()”Ved å passere matrise som et argument i Main () -metoden:

public static void main (String [] args)
int arr [] [] = new int [] []
12, 14, 4,
14, 23, 20,
28, 25, 8,
11, 5, 1;
RowWisesorting (ARR);

Som du kan se, har vi sortert vårt utvalg i stigende rekkefølge:

Vil prøve ut kolonnemessig sortering i java? Ta en titt på følgende avsnitt.

Metode 2: Kolonnemessig sortering av 2D-matrise i Java

For å kolonnevis sortere en 2D-matrise i Java, ring "Matriser.sortere()”Metode med en“Comparator -grensesnittet”. Et komparatorgrensesnitt definerer en “sammenligne()”Metode som godtar to parametere og deretter sammenligner dem med hverandre. Hvis de passerte parametrene er like, returnerer den null. Hvis den første parameteren er større enn den andre parameteren, returnerer den en positiv verdi. Hvis ikke, returneres en negativ verdi.

Eksempel
I dette eksemplet vil vi lage en metode som heter “ColumnWisesorting ()”Med to argumenter, en 2D -matrise“arr [] []”Og et kolonnummer som heter“Colmn”. Deretter, ring "Matriser.sortere()”Metode med“Comparator -grensesnittet”For å sammenligne verdiene til en kolonne. Til slutt vil vi skrive ut verdiene til den sorterte kolonnen med matrise ved å bruke “til”Løkker:

statisk tomrom ColumnWisesorting (int arr [] [], int colmn)
Matriser.Sorter (ARR, ny komparator()
public int Compare (int [] FRST, int [] scnd)
if (frst [colmn-1]> scnd [colmn-1])
retur 1;

annet retur -1;

);

for (int i = 0; i< arr.length; i++)
for (int j = 0; j < arr[i].length; j++)
System.ute.print (arr [i] [j] + "");

System.ute.println ();

Vi vil bruke det allerede opprettet utvalget som heter “arr”Og gi den til“ColumnWisesorting ()”Som første parameter og“1”Som den andre parameteren:

ColumnWisesorting (arr, 1);

Utførelse av det ovennevnte programmet vil sortere den første kolonnen i vår 2D-matrise:

Vi sammenstiller all den essensielle informasjonen for å sortere 2D -matrisen i Java.

Konklusjon

I Java kan en 2D-matrise sorteres radmessig eller kolonnemessig i henhold til krav. For radmessig sortering, bare matrisen.sorter () -metoden brukes; Imidlertid i kolonnemessig sortering, matrisen.sorter () -metoden kalles med Comparator -grensesnittet. For radmessig sortering sendes ingen parameter til Array.sorter () Metode, mens, i kolonnemessig sorteringsmetode, blir antall kolonner som må sorteres nevnes som en parameter. Denne opplæringen diskuterte metodene for å sortere 2D -matrisen i Java med eksempler.