Hvordan Bubble Sorter i "C"

C er et programmeringsspråk for å skrive dataprogrammer. Sortering er et vanlig problem i programmering. For eksempel, hvis datasettet inneholder tre elementer: (20, 7, 66) sortering i stigende rekkefølge resulterer i (7, 20, 66). En "boble" sort er en enkel algoritme. Det innebærer flere passerer gjennom datasettet sammenligne justeringselementer, og bytter dem hvis de ikke er sortert. For å implementere sortering algoritmen, bruker en C datastruktur kalt "array" som holder et sett av variabler i en bestemt rekkefølge.

Bruksanvisning

1 Tilordne størrelsen på matrisen til variabelen "størrelse" i C-program. For eksempel, hvis datasettet inneholder fem elementer. gå

int size = 5;

2 Definer array i C-programmet:

int rekke [size];

3 Legge til numre fra datasettet til rekken; for eksempel, hvis elementer i datasettet er 2,16, 75, 9 og en deretter:

matrise [0] = 2;

matrise [1] = 16;

matrise [2] = 75;

matrise [3] = 9;

matrise [4] = 1;

4 Definer den logiske verdien "byttet" for å styre utviklingen av sortering. Algoritmen avsluttes hvis denne variabelen forblir falske ved slutten av algoritmen syklus;

bool byttet;

int teller = 0;

Variabelen "teller" teller algoritmen sykluser.

5 Tilsett "mens" loop til programmet for å begynne å sortere.

while (byttet) {

byttet = false;

teller ++;

6 Lag en løkke "for" som har tilgang til elementer i tabellen:

for (int i = 0; i <size-teller; i ++)

{

}

Merk at klammeparenteser definere kommandoene i sløyfen.

7 Sammenlign tilstøtende elementer av rekken med "hvis" statement å avgjøre om bytte er nødvendig:

for (int i = 0; i <size-nummer, i ++)

{

if(array[i]>array[i+1])

}

8 Bytt tilstøtende elementer ( "jeg" og "jeg +") når tilstanden i "hvis" statement er fornøyd

ved hjelp av en midlertidig variabel "temp".

for (int i = 0; i <size-nummer, i ++)

{

if (matrise [i]> rekke [i + 1])

{

int temp=array[i];

matrise [i] = array [i + 1];

matrise [i + 1] = temp;

byttet = true;

}

}

Den logiske variable er tildelt "true" dersom bytte skjer. Hvis ingen bytte er nødvendig da den logiske variable forblir "false" som indikerer matrisen er helt sortert.

9 Skrive ut sorterte matrise med følgende kommando:

for (int i = 0; i <størrelse; i ++)

{

std :: cout << rekke [i] << "";

}

I dette eksempelet gir programmet følgende resultat: 1 2 9 16 75.

Hint

  • Arrays i C er null-basert; det første elementet har indeksen "0"