Introduktion til sortering i C ++

Når du har en samling af elementer til ordre, hjælper sortering med at arrangere elementerne i posten baseret på ordrerelationer. Overvej en filrekord, der indeholder en masse information, for at få adgang til en liste fra posten er det nødvendigt at have et nøglefelt for at pege på den aktuelle placering af elementet. Overvej for eksempel en liste med navne i databasen, den kan sorteres alfabetisk. Sortering placerede en vigtig rolle inden for computere og teknologi. Lad os se mere i denne artikel.

Hvad er sorteringen i C ++?

Sortering er det grundlæggende koncept, som programmereren eller forskeren bruger til at sortere de nødvendige input. Kompleksitetsrækkefølgen er givet af 0 (N * log (N)). Sortering af et input gør det lettere at løse mange problemer, f.eks. Søgning, Maksimum og Minimumselement. Selvom en sortering arrangerer data i sekvensen, er effektiviteten af ​​processen meget vigtig, der er baseret på to kriterier: - Tid og hukommelse, der kræves for at udføre sortering på de givne data. Tid måles ved at tælle sammenligningerne af de anvendte taster. Der er mange algoritmer til rådighed for at sortere. Generelt skelnes sortering i C ++ i to typer:

  1. Intern sortering
  2. Ekstern sortering

Syntaks og eksempel

Syntaks:

C ++ bruger sorteret () indbygget funktion til deres algoritmer til at sortere containerne som vektorer, arrays.

Sorter (array, array + 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 < )
)

Produktion:

Hvordan virker det?

Til at begynde med tager vi Quick Sort, der betragtes som en vigtig metode blandt forskellige sorteringstyper. Den grundlæggende sortering af en matrix tager en Quicksort-tilgang. Der er forskellige måder at implementere sortering, målet med hver af disse teknikker er det samme som at sammenligne to elementer og bytte dem med den midlertidige variabel. I denne artikel skal vi diskutere den vigtigste sortering, der bruges til implementering. Følgende er:

  1. Bubble Sort
  2. Indsættelsessortering
  3. Hurtig sortering
  4. Valgssortering

Der er fletningssortering, radiksortering, båndssortering, som vi måske diskuterer senere. Først går vi med Bubble sort.

1. Bubble Sort

Boblesortering er en af ​​de enkleste sorteringsmetoder, vi kan bruge den til applikationer. I denne teknik foretages successive swaps gennem de poster, der skal sorteres. På hvert trin sammenligner den nøglen til dataene og udveksler elementerne, hvis ikke i den ønskede rækkefølge. Sortering udføres med de tilstødende elementer på det tidspunkt, hvor kun et element placeres på det sorterede sted efter en swap.

Eksempel: Lad os overveje en usorteret matrix A () = (6, 2, 4, 7, 1)

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

Trin 1: Sammenligning af A (0)> A (1), hvis betingelsen er sand, skal elementet (6> 2) sættes, placeres 2 i A (0). Tilsvarende tager alle trin det samme, indtil matrixen bliver sorteret.

Nu er matrixen A () = (2, 6, 4, 7, 1)

Trin 2: 6 sammenlignes med 4. Da 6 er større end 4. Derfor udskiftes 6 og 4.

Nu er matrixen A () = (2, 4, 6, 7, 1)

Trin 3: Element 6 sammenlignes med 7. Da 6 <2 og elementerne er i stigende rækkefølge, udskiftes elementer ikke.

Den sorterede matrix er A () = (2, 4, 6, 7, 1).

Fortsæt processen, indtil arrayet er sorteret.

2. Indsættelsessortering

I denne teknik starter vi med det andet dataelement ved at antage, at det første element allerede er sorteret, og sammenligningen foretages med det andet element, og trinet fortsættes med det andet efterfølgende element. I en række N-elementer er det nødvendigt at have N-1-passager for at have et sorteret element.

Overvej en matrix A () = (8, 3, 6, 1)

8361

Trin 1: Det første element ser efter det største element i den matrix, der skal byttes. Hvis den er større, forbliver den den samme og flyttes videre til det andet element, her 8 er større end alle, der foretages ingen swap.

8361

Trin 2: Skift med det andet element

3861

Trin 3: Skift med det tredje element

3681

Trin 4: Skift med det fjerde element

1368

3. Hurtig sortering

Denne teknik følger skillelinjen og erobre algoritmen og betragtes som meget effektiv og hurtigere til store arrays. De er opdelt i tre underafsnit: en venstre, en højre og den midterste. Det midterste element har en enkelt værdi, og det kaldes pivoten. Mekanismen går sådan, elementet i det venstre segment skal ikke have en nøgle, der er større end det midterste element, og intet element til højre har en nøgle, der er mindre end den for det midterste element. Lad os starte med en illustration af processen med sortering. Quicksort bruger et rekursivt koncept under sortering af underdel. Arrayet er opdelt i subpart, igen er venstre og højre segmenter opdelt ved erobring. Her i dette eksempel har det sidste element i betragtning af omdrejningspunktet, og det første element antages lavt. Overvej et array-element

492211165630

At tage det højre element har drejelementet = 30

162211305649

Elementet, der er større end drejepladen, placeres mod venstre, mindre til højre.

1622115649

Markøren placeres ved drejepoten og er opdelt omkring en drejepotte.

1122165649

Underdelene sorteres individuelt.

111622304956

Endelig fik vi en sorteret matrix.

4. Valgssortering

Denne teknik kaldes også udvekslingssortering udfører dobbelt operation søgning og sortering. Implementeringen tager lige valgssortering som defineret nedenfor. Her kræves det at identificere det mindste element, der findes i matrixen, og dette element sorteres i den første ith-position, derefter identificeres det andet mindste element, og det sorteres i den anden position. Valgsorten forlader sin løkke, når den usorterede underdel bliver tom. Tidskompleksiteten er angivet som O (n 2 ).

Overvej følgende array:

6326132312

1. Find det mindste element, og placer det i begyndelsen, og det udskiftes med positionen.

1226132363

2. Det andet element a (1) identificeres sammenlignet med minimumselementet og placer det i den anden position, på samme måde fortsætter passet.

1213262364

Endelig sorteret output

1213232664

Konklusion

Afslutningsvis fokuserede denne artikel på sorteringskoncepter og deres arbejdsmekanisme. Alle disse sorteringsteknikker bruger parallelle behandlingskoncepter. Sortering danner en grundlæggende byggesten i strukturering af algoritmer til at løse problemerne med data i den virkelige verden ved at sortere værdisættet i henhold til kravene.

Anbefalede artikler

Dette er en guide til sortering i C ++. Her diskuterer vi introduktion og syntaks med eksempler sammen med Hvordan fungerer det. Du kan også gennemgå vores andre foreslåede artikler for at lære mere–

  1. Sortering i Tableau
  2. Iterator i C ++
  3. Array-funktioner i C
  4. Heap Sort in C
  5. Hvordan sortering udføres i PHP?
  6. Heap Sort i Python
  7. Iterator i Java
  8. Top 11 funktioner og fordele ved C ++
  9. Iterator i Python | Fordele og eksempler på Python

Kategori: