Introduktion om sortering i C ++

Att ha en samling element att beställa hjälper sortering att ordna elementen i posten baserat på beställningsrelationer. Tänk på en filpost som innehåller mycket information, för att komma åt en lista från posten är det nödvändigt att ha ett nyckelfält för att peka på det aktuella läget för elementet. Tänk till exempel på en lista med namn i databasen, den kan sorteras alfabetiskt. Sortering spelade en viktig roll inom området datorer och teknik. Låt oss se mer i den här artikeln.

Vad är sorteringen i C ++?

Sortering är det grundläggande konceptet som används av programmeraren eller forskaren för att sortera de ingångar som krävs. Ordningens komplexitet ges av 0 (N * log (N)). Att sortera en ingång gör det enklare att lösa många problem som Söka, Maximum och Minima element. Även om en sortering ordnar data i sekvensen, är processens effektivitet mycket viktig vilket baseras på två kriterier: - Tid och minne som krävs för att utföra sortering på den givna datan. Tiden mäts genom att räkna jämförelserna av tangenter som används. Det finns många algoritmer tillgängliga att sortera. I allmänhet skiljer sig sortering i C ++ i två typer:

  1. Intern sortering
  2. Extern sortering

Syntax och exempel

Syntax:

C ++ använder sorterad () inbyggd funktion för sina algoritmer för att sortera behållarna som vektorer, matriser.

Sortera (array, array + storlek);

Exempel:

#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:

Hur fungerar det?

Till att börja med tar vi Quick Sort, som anses vara en viktig metod bland olika sorteringstyper. Den grundläggande sorteringen av en matris tar en Quicksort-strategi. Det finns olika sätt att implementera sortering, syftet med var och en av dessa tekniker är detsamma som att jämföra två element och byta dem med den temporära variabeln. I den här artikeln ska vi diskutera den viktigaste sorteringen som används för implementering. Följande är:

  1. Bubble Sort
  2. Insättningssortering
  3. Snabbsortering
  4. Urvalssortering

Det finns Merge Sort, radix sortering, tape sortering som vi kan diskutera senare. Först kommer vi att gå med Bubble sort.

1. Bubble Sort

Bubblesortering är en av de enklaste sorteringsmetoderna vi kan använda den för applikationer. I denna teknik görs successiva byten genom de poster som ska sorteras. Vid varje steg jämför den nyckeln till data och utbyter elementen om inte i önskad ordning. Sortering görs med de angränsande elementen vid det tillfället att endast ett element placeras på den sorterade platsen efter en byte.

Exempel: Låt oss betrakta en osorterad matris A () = (6, 2, 4, 7, 1)

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

Steg 1: Jämförelse av A (0)> A (1), om villkoret är sant, byt elementet (6> 2) true, placera 2 i A (0). På samma sätt tar alla steg densamma tills matrisen sorteras.

Nu är matrisen A () = (2, 6, 4, 7, 1)

Steg 2: 6 jämförs med 4. Eftersom 6 är större än 4. Därför byts 6 och 4.

Nu är matrisen A () = (2, 4, 6, 7, 1)

Steg 3: Element 6 jämförs med 7. Eftersom 6 <2 och elementen är i stigande ordning byts inte element.

Den sorterade matrisen är A () = (2, 4, 6, 7, 1).

Fortsätt processen tills matrisen är sorterad.

2. Insertion Sort

I denna teknik börjar vi med det andra dataelementet genom att anta att det första elementet redan är sorterat och jämförelse görs med det andra elementet och steget fortsätter med det andra efterföljande elementet. I en rad N-element är det nödvändigt att ha N-1-passeringar för att ha ett sorterat element.

Tänk på en grupp A () = (8, 3, 6, 1)

8361

Steg 1: Det första elementet letar efter det största elementet i matrisen att byta. Om den är större förblir den densamma och flyttas vidare till det andra elementet, här 8 är större än alla, ingen byte görs.

8361

Steg 2: Byta med det andra elementet

3861

Steg 3: Byta med det tredje elementet

3681

Steg 4: Byta med det fjärde elementet

1368

3. Snabbsortering

Denna teknik följer algoritmen för uppdelning och erövring och anses vara mycket effektiv och snabbare för enorma matriser. De är indelade i tre underavsnitt: en vänster, en höger och en mitten. Det mellersta elementet har ett enda värde och namnges som pivot. Mekanismen går så här, elementet i det vänstra segmentet bör inte ha en nyckel större än mittelementet och inget element till höger har en nyckel som är mindre än mittelementets. Låt oss nu börja med en illustration av sorteringsprocessen. Quicksort använder ett rekursivt koncept när man sorterar underdel. Arrayen är indelad i del, igen vänster och höger segment delas upp genom erövring. Här i det här exemplet har det sista elementet en pivot och det första elementet antas lågt. Överväg ett arrayelement

492211165630

Att ta det högsta elementet har pivotelementet = 30

162211305649

Elementet större än pivoten placeras mot vänster, mindre till höger.

1622115649

Pekaren placeras vid pivoten och är uppdelad runt en pivot.

1122165649

Delarna sorteras individuellt.

111622304956

Slutligen fick vi en sorterad matris.

4. Urvalssortering

Denna teknik kallas också utbytesortering utför dubbla driftsökning och sortering. Implementeringen tar en rak urvalssortering enligt definitionen nedan. Här krävs det att identifiera det minsta elementet som finns i matrisen och detta element sorteras i det första I-läget, Därefter identifieras det andra minsta elementet och det sorteras i det andra läget. Urvalssorten kommer från sin slinga när det osorterade underpartiet blir tomt. Tidskomplexiteten anges som O (n 2 ).

Tänk på följande array:

6326132312

1. Hitta det minsta elementet och placera det i början så byts det med positionen.

1226132363

2. Det andra elementet a (1) identifieras jämför med minimumelementet och placerar det i det andra läget, på samma sätt fortsätter passet.

1213262364

Slutsorterad utgång

1213232664

Slutsats

Avslutningsvis fokuserade denna artikel på sorteringskoncept och deras arbetsmekanism. Alla dessa sorteringstekniker använder parallella behandlingskoncept. Sortering utgör en viktig byggsten i strukturering av algoritmer för att lösa dataproblemen i den verkliga världen genom att sortera uppsättningen av värden enligt kraven.

Rekommenderade artiklar

Detta är en guide till sortering i C ++. Här diskuterar vi introduktionen och syntaxen med exempel tillsammans med Hur fungerar det. Du kan också gå igenom våra andra artiklar som föreslås för att lära dig mer–

  1. Sortering i Tableau
  2. Iterator i C ++
  3. Array-funktioner i C
  4. Heap Sort in C
  5. Hur sortering utförs i PHP?
  6. Heap Sort i Python
  7. Iterator i Java
  8. Topp 11 funktioner och fördelar med C ++
  9. Iterator i Python | Fördelar och exempel på Python

Kategori: