Hvordan implementere boble -sortering i C ++

Hvordan implementere boble -sortering i C ++
Sortering er en ofte brukt prosess i programmering som brukes til å sortere elementene i en matrise eller containere. Det er forskjellige typer sorteringsalgoritmer som kan implementeres i C++. Blant disse algoritmene, Boble sort er det enkleste av alt som lett kan implementeres i C++.

Denne opplæringen er en detaljert guide å implementere Boble sort i c++.

Hva er boble -sortering og hvordan du implementerer den

Boble sort er sorteringsalgoritmen som vanligvis implementeres ved gjentatte ganger å ordne elementene i orden. Bestillingen kan være stigende eller synke, noe som avhenger av brukernes preferanser.

Boble sort I C ++ fungerer på følgende måte:

  • Start søket fra første indeks og sammenlign elementene ved første og andre indeks.
  • Hvis det første indekselementet ser ut til å være større enn det andre indekselementet, byttes de ut/byttet ut.
  • Deretter utfører det et søk ved å sammenligne det andre indekselementet med det tredje og bytte dem hvis ordren deres er feil.
  • Denne prosessen vil fortsette til alle elementer er sortert i orden.

Her er trinn-for-trinns implementering av Boble sort i c++.

Anta at vi har innspill Array 8,1,7,2,9 Og vi vil sortere denne matrisen ved hjelp av Boble sort. Det vil sortere elementene i forskjellige pasninger vist nedenfor:

Første pass

  • Boble -sort begynner med de to første elementene og sammenligner dem for å se hvilken som er større.
  • (8 1 7 2 9) -> (1 8 7 2 9), siden 8> 1, sammenligner algoritmen de to første elementene og bytter dem.
  • ( 1 8 7 2 9) -> (1 7 8 2 9), bytt siden 8> 7
  • (1 7 8 2 9) -> (1 7 2 8 9), bytte siden 8> 2
  • (1 7 2 8 9 ) -> (1 7 2 8 9 ), fordi disse elementene er plassert i riktig rekkefølge (9> 8), ville ikke algoritmen bytte dem

Andre pass

Nå, under den andre iterasjonen, skal den se ut som dette:

  • (1 7 2 8 9) -> (1 7 2 8 9)
  • (1 7 2 8 9) -> (1 2 7 8 9), bytt siden 7> 2
  • (1 2 7 8 9) -> (1 2 7 8 9), ingen bytte siden 7<8
  • (1 2 7 8 9) -> (1 2 7 8 9), ingen bytte

Tredje pass

Arrayen er sortert; Imidlertid er algoritmen vår usikker på om den er ferdig. For å gjenkjenne den er sortert, krever algoritmen ett komplett pass uten bytter.

  • (1 2 7 8 9) -> (1 2 7 8 9)
  • (1 2 7 8 9) -> (1 2 7 8 9)
  • (1 2 7 8 9) -> (1 2 7 8 9)
  • (1 2 7 8 9) -> (1 2 7 8 9)

Hvordan implementere boble sort i c++

Følgende er koden for å implementere Boble sort I C ++:

#inkludere
ved hjelp av navneområdet STD;
void bubblesort (int myarray [], int num)

int i, j;
for (i = 0; i < num - 1; i++)
for (j = 0; j < num - i - 1; j++)
if (myarray [j]> myarray [j + 1])
Swap (MyArray [J], MyArray [J + 1]);

void printArray (int myarray [], int len)

int jeg;
for (i = 0; i < len; i++)
cout << myArray[i] << " ";
cout << endl;

int main ()

int myArray [] = 8, 1, 7, 2, 9;
int num = sizeof (myArray) / sizeof (myarray [0]);
Bubblesort (MyArray, Num);
cout << "Sorted array: \n";
PrintArray (MyArray, Num);
retur 0;

I ovennevnte C ++ -program bruker vi Nested for sløyfe å implementere boble -sortering i C++. Koden tar ut en matrise og sorterer elementene ved å bruke Bubblesort funksjon. En sortert matrise skrives deretter ut ved hjelp av cout funksjon.

Konklusjon

Boble sort er en enkel sorteringsalgoritme som kan brukes til å sortere matriseelementer i en rekkefølge. De ovennevnte retningslinjene viser deg å jobbe med Boble sort I C ++ med et enkelt program for enkelt å sortere matriseelementene.