Hvordan du sorterer en matrise i java uten å bruke sorteringsmetoden

Hvordan du sorterer en matrise i java uten å bruke sorteringsmetoden

I Java organiserer sortering verdier i synkende eller stigende rekkefølge. Arrays er den enkleste datastrukturen som inneholder en lignende type data som er lagret på et sammenhengende minneplassering. Elementene kan nås direkte ved hjelp av indeksnumrene. I matriser starter indeksene med 0. I stedet for det forhåndsdefinerte “sortere()”Metode, det er også flere andre metoder som kan brukes til sortering av matriser.

Denne artikkelen vil forklare de andre prosedyrene for sortering av matriser uten å bruke sort () -metoden.

Hvordan du sorterer en matrise i java uten å bruke sort () -metoden?

For å sortere en matrise i Java uten “sortere()”Metode, du kan bruke:

  • Valgssorter
  • Innsettingssort
  • Boble sort

La oss diskutere disse sorteringsmetodene og hvordan de sorterer elementer i en matrise.

Metode 1: Sorteringsprogram ved hjelp av valgsorteringen

Å finne det minste arrayens element og sette det inn i begynnelsen av matrisen er det utvalgssorteringen gjør. Det er den mest grunnleggende sorteringsalgoritmen som brukes til sammenligning på stedet. Denne algoritmen skiller matrisen inn i den sorterte og usorterte delen.

Arrayens usorterte del holder den spesifiserte matrisen mens den sorterte delen opprinnelig er tom. Den sorterte delen er i starten av matrisen, mens den andre delen av matrisen er på den andre siden. Det første minste elementet fra den usorterte matrisen blir deretter valgt og plassert i starten av matrisen, som er den delen av den sorterte matrisen. Etter det er det nest minste elementet valgt og plassert i det andre sporet. Prosessen vil bli gjentatt til matrisen blir sortert helt.

Tenk på følgende eksempel for å forstå det uttalte konseptet tydeligere.

Eksempel

I dette eksemplet har vi laget en heltallstype som heter “Array”Initialisert med følgende verdier:

int [] array = new int [] 3,12,4,67,23,14,89,5;

Vi vil lage en heltallstypevariabel “indeks”Det vil lagre indeksene til matrisen, initialisert med“-1”Fordi indeksen for matrisen starter fra 0, så i løkken vil den lagre“0”Indeks:

int indeks = -1;

Her vil vi bruke to “til”Løkker, en vil bli brukt til å iterere matrisen til lengden på matrisen, og den andre vil bli brukt til å sjekke tilstanden og bytte elementene hvis det første elementet er mindre enn den andre:

for (int i = 0; i indeks = i;
for (int j = i; j <= array.length-1; j++)
if (matrise [j] < array[index])
indeks = j;


int temp = array [i];
matrise [i] = matrise [indeks];
matrise [indeks] = temp;

Skriv deretter ut den sorterte matrisen ved å bruke en annen “til" Løkke:

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

Utgangen indikerer at matrisen nå er sortert i stigende rekkefølge:

Merk: Hvis du vil skrive ut matrisen i synkende rekkefølge som en sortert form, trenger du bare å snu IF -tilstanden for å bytte elementene.

Metode 2: Sortering av sortering ved hjelp av innsettingssorteringen

En annen enkel sorteringsmetode som brukes til å sortere en matrise er innsettingssorter. Innføringssorter er en kort sorteringsalgoritme som fungerer som du vil ordne spillkort i hendene. Det er effektivt når det brukes på noen få verdier. Innsettingssort er adaptiv, og den er egnet for delvis sorterte datasett.

Sortert og usortert er underkategoriene til matrisen i innsettingssorter. I motsetning til valgsort, velger innsettingssorteringen verdier fra den usorterte verdien og setter dem inn i den sorterte delen i en bestemt indeks. I innsettingssarten blir gjeldende verdi sammenlignet med det eksisterende elementet. Hvis det finner et eksisterende element som er større enn det nåværende, blir det forrige elementet flyttet til neste stilling.

Eksempel

Nå vil vi sortere det samme “Array”Bruke innsettingssorter. For å gjøre det, vil vi iterere matrisen til dens lengde ved å bruke “til" Løkke. Vi starter sløyfen fra “1”Indeks. Deretter vil vi sette verdien av nøkkelen som "KeyValue”Og tilordne det elementet i matrisen til 1. indeks.

Den lagt til “samtidig som”Loop vil sjekke elementene i en matrise ved å sammenligne den med KeyValue og bytte elementene. Mens sløyfen fortsetter å løpe opp til tilstanden er evaluert som falsk. Hvis nøkkelen er større enn det forrige elementet, bytter den begge elementene:

for (int i = 1; i < array.length; i++)
int keyValue = array [i];
int j = i - 1;
mens (j> = 0 && array [j]> keyValue)
Array [j + 1] = matrise [j];
j = j - 1;

Array [J + 1] = KeyValue;

For å skrive ut en sortert matrise, vil vi bruke en annen “til" Løkke:

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

Produksjon

Metode 3: Sorteringsprogram ved hjelp av boble -sorteringen

Boblen sjekker to elementer i nærheten og bytter dem til de er i ønsket rekkefølge. Det kalles "Boble sort”Fordi hvert array -element beveger seg til slutten av matrisen i hver iterasjon, omtrent som hvordan luftbobler fortsetter å stige til toppen av vannet. Det er bare egnet for færre elementer på grunn av det høye gjennomsnittet og verste tidskompleksiteten.

I boble sort vil vi sammenligne de første og andre elementene som begynner med den første indeksen. Hvis det første elementet i matrisen er større, bytter du første og andre elementer. Etter det vil den utføre en sammenligning mellom de to neste elementene. Hvis de ikke er til stede i den spesifiserte rekkefølgen, vil denne sorteringsmetoden bytte dem.

Eksempel

Vi vil bruke boble -sortering for å ordne matrisen i dette eksemplet. Som i utvalgssortering brukes to løkker til å sortere elementene. Den ene er for å iterere matrisen til dens lengde, og den andre sløyfen brukes til å sjekke elementer og bytte dem basert på forhold:

for (int i = 0; i < array.length; i++)
for (int j = i + 1; j < array.length; j++)
int temp = 0;
if (array [i]> array [j])
temp = matrise [i];
matrise [i] = matrise [j];
matrise [j] = temp;


For utskrift av byttede matriser vil vi bruke "til" Løkke:

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

Produksjon

Merk: Hvis du vil skrive ut matrisen i synkende rekkefølge ved hjelp av boble -sorteringsmetoden, trenger du bare å snu det som er lagt til hvis tilstand.

Vi tilbød alle sorteringsmetodene for sortering av matriser uten å bruke den forhåndsdefinerte sort () -metoden.

Konklusjon

For sortering av en matrise uten å bruke sort () -metoden i Java, kan du bruke de enkle sorteringsmetodene, inkludert valgsort, innsetting og sort og boble -sortering. Alle disse er de enkleste og mest effektive sorteringsmetodene. Mer spesifikt brukes innsettingssorteringen når du vil sette inn et element i en viss indeks. Alle de medfølgende metodene kan brukes til å sortere en matrise i synkende eller stigende rekkefølge.