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"