Introduksjon om sortering i C ++

Å ha en samling elementer å bestille, hjelper sortering med å ordne elementene i posten basert på bestillingsrelasjoner. Tenk på en filoppføring som inneholder mye informasjon, for å få tilgang til en liste fra posten er det nødvendig å ha et nøkkelfelt for å peke det aktuelle stedet for elementet. Tenk for eksempel på en liste med navn i databasen, den kan sorteres alfabetisk. Sortering plasserte en viktig rolle innen datamaskiner og teknologi. La oss se mer i denne artikkelen.

Hva er sorteringen i C ++?

Sortering er det grunnleggende konseptet som brukes av programmerer eller forsker for å sortere inngangene som kreves. Rekkefølgen på kompleksitet er gitt av 0 (N * log (N)). Sortering av innspill gjør det enklere å løse mange problemer som Søk, Maksimum og Minimum. Selv om en sortering ordner data i sekvensen, er effektiviteten av prosessen veldig viktig som er basert på to kriterier: - Tid og minne som kreves for å utføre sortering på de gitte dataene. Tid måles ved å telle sammenligningene av tastene som er brukt. Det er mange algoritmer tilgjengelig for å sortere. Generelt skilles sortering i C ++ inn i to typer:

  1. Intern sortering
  2. Ekstern sortering

Syntaks og eksempel

syntaks:

C ++ bruker sortert () innebygd funksjon for algoritmene sine, for å sortere containerne som vektorer, matriser.

Sorter (matrise, matrise + størrelse);

eksempler:

#include
using namespace std;
int main ()
(
int ins(12) = ( 19, 13, 5, 27, 1, 26, 31, 16, 2, 9, 11, 21);
cout<<"\nInput list is \n";
for(int i=0;i<12;i++)
(
cout < )
for(int k=1; k<12; k++)
(
int t = ins(k);
int j= k-1;
while(j>=0 && t <= ins(j))
(
ins(j+1) = ins(j);
j = j-1;
)
ins(j+1) = t;
)
cout<<"\nSorted list is \n";
for(int i=0;i<12;i++)
(
cout < )
)
#include
using namespace std;
int main ()
(
int ins(12) = ( 19, 13, 5, 27, 1, 26, 31, 16, 2, 9, 11, 21);
cout<<"\nInput list is \n";
for(int i=0;i<12;i++)
(
cout < )
for(int k=1; k<12; k++)
(
int t = ins(k);
int j= k-1;
while(j>=0 && t <= ins(j))
(
ins(j+1) = ins(j);
j = j-1;
)
ins(j+1) = t;
)
cout<<"\nSorted list is \n";
for(int i=0;i<12;i++)
(
cout < )
)
#include
using namespace std;
int main ()
(
int ins(12) = ( 19, 13, 5, 27, 1, 26, 31, 16, 2, 9, 11, 21);
cout<<"\nInput list is \n";
for(int i=0;i<12;i++)
(
cout < )
for(int k=1; k<12; k++)
(
int t = ins(k);
int j= k-1;
while(j>=0 && t <= ins(j))
(
ins(j+1) = ins(j);
j = j-1;
)
ins(j+1) = t;
)
cout<<"\nSorted list is \n";
for(int i=0;i<12;i++)
(
cout < )
)

Produksjon:

Hvordan virker det?

Til å begynne med tar vi Quick Sort, som regnes som en viktig metode blant ulike sorteringstyper. Den grunnleggende sorteringen av en matrise tar en Quicksort-tilnærming. Det er forskjellige måter å implementere sortering, målet med hver av disse teknikkene er det samme som å sammenligne to elementer og bytte dem med den midlertidige variabelen. I denne artikkelen skal vi diskutere den viktigste sorteringen som brukes for implementering. Følgende er:

  1. Bubble Sort
  2. Innsettingssortering
  3. Rask sortering
  4. Valgssortering

Det er Merge Sort, radix sort, tape sortering som vi kan diskutere senere. Først vil vi gå med Bubble sort.

1. Bubble Sort

Boble sortering er en av de enkleste sorteringsmetodene vi kan bruke den til applikasjoner. I denne teknikken gjøres suksessive bytter gjennom postene som skal sorteres. På hvert trinn sammenligner den nøkkelen til dataene og utveksler elementene hvis ikke i ønsket rekkefølge. Sortering gjøres med de tilstøtende elementene på det tidspunktet bare ett element er plassert på det sorterte stedet etter en bytte.

Eksempel: La oss vurdere en usortert matrise A () = (6, 2, 4, 7, 1)

62471
A (0)A (1)A (2)A (3)A (4)

Trinn 1: Sammenligning av A (0)> A (1), hvis tilstanden er sann, bytt elementet (6> 2) true, plasser 2 i A (0). På samme måte tar alle trinnene det samme til matrisen blir sortert.

Nå er matrisen A () = (2, 6, 4, 7, 1)

Trinn 2: 6 sammenlignes med 4. Siden 6 er større enn 4. Derfor byttes 6 og 4.

Nå er matrisen A () = (2, 4, 6, 7, 1)

Trinn 3: Element 6 sammenlignes med 7. Siden 6 <2 og elementene er i stigende rekkefølge, byttes ikke elementer.

Den sorterte matrisen er A () = (2, 4, 6, 7, 1).

Fortsett prosessen til matrisen er sortert.

2. Sett inn sortering

I denne teknikken starter vi med det andre dataelementet ved å anta at det første elementet allerede er sortert og sammenligning blir gjort med det andre elementet og trinnet fortsettes med det andre påfølgende elementet. I en rekke N-elementer er det nødvendig å ha N-1-passeringer for å ha et sortert element.

Vurder en matrise A () = (8, 3, 6, 1)

8361

Trinn 1: Det første elementet ser etter det største elementet i matrisen som skal byttes. Hvis den er større, forblir den den samme og flyttes videre til det andre elementet, her 8 er større enn alle, det gjøres ingen bytte.

8361

Trinn 2: Bytt med det andre elementet

3861

Trinn 3: Bytt med det tredje elementet

3681

Trinn 4: Bytt med det fjerde elementet

1368

3. Rask sortering

Denne teknikken følger skillet og erobre algoritmen og anses for å være veldig effektiv og raskere for store matriser. De er delt inn i tre underavsnitt: en venstre, en høyre og midten. Det midtre elementet har en enkelt verdi, og det blir navngitt som pivoten. Mekanismen går slik, elementet i det venstre segmentet skal ikke ha en nøkkel større enn det midtre elementet, og det ingen elementet til høyre har en nøkkel som er mindre enn den for det midtre elementet. La oss starte med en illustrasjon av prosessen med sortering. Quicksort bruker et rekursivt konsept under sortering av underdel. Arrayet er delt inn i underparti, igjen venstre og høyre segmenter er delt opp ved erobring. I dette eksemplet har det siste elementet tatt i betraktning, og det første elementet antas å være lavt. Vurder et array-element

492211165630

Når du tar det høyre elementet har pivotelementet = 30

162211305649

Elementet større enn pivoten er plassert mot venstre, mindre til høyre.

1622115649

Pekeren er plassert ved pivoten og er delt rundt en pivot.

1122165649

Delpartiene er sortert individuelt.

111622304956

Endelig fikk vi en sortert matrise.

4. Valgssortering

Denne teknikken kalles også utvekselsortering utfører dobbelt operasjonssøking og sortering. Implementeringen tar rett utvalgssortering som definert nedenfor. Her kreves det å identifisere det minste elementet som er tilstede i matrisen, og dette elementet blir sortert i den første ith-posisjonen. Neste blir det andre minste elementet identifisert, og det blir sortert i den andre posisjonen. Valgssorten går ut av sløyfen når det usorterte underpartiet blir tomt. Tidskompleksiteten er gitt som O (n 2 ).

Tenk på følgende matrise:

63261. 32312

1. Finn det minste elementet og plasser det i begynnelsen, og det byttes med posisjonen.

12261. 32363

2. Det andre elementet a (1) er identifisert sammenlign med minimumselementet og plasser det i den andre posisjonen, på samme måte fortsetter passet.

121. 3262364

Endelig sortert utgang

121. 3232664

Konklusjon

For å konkludere, fokuserte denne artikkelen på sorteringskonsepter og deres arbeidsmekanisme. Alle disse sorteringsteknikkene bruker parallelle prosesseringskonsepter. Sortering danner en grunnleggende byggestein i strukturering av algoritmer for å løse problemene med data i den virkelige verden ved å sortere settet av verdier i henhold til kravene.

Anbefalte artikler

Dette er en guide til sortering i C ++. Her diskuterer vi Introduksjon og syntaks med eksempler sammen med Hvordan fungerer det. Du kan også gå gjennom de andre foreslåtte artiklene våre for å lære mer–

  1. Sorterer i Tableau
  2. Iterator i C ++
  3. Array-funksjoner i C
  4. Heap Sort in C
  5. Hvordan sortering utføres i PHP?
  6. Heap Sort in Python
  7. Iterator i Java
  8. Topp 11 funksjoner og fordeler med C ++
  9. Iterator i Python | Fordeler og eksempler på Python