Telefonia, Prugrammazione
Tecnichi di a prugrammazione tri: tri "bolla"
bolla sorta ùn hè solu cunsideratu à esse u mètudu u più veloce, nc'est, si chiudi a lista di i modi lentu à urganizà. Tuttavia, ci hà u so vantaghji. Cusì, lu mètudu d 'tri, bolla - u più chì unn hè una suluzione naturale è ghjusta à u prublema, si vo vulete di acconcianu i muri in un ordine specifichi. Una persona strasurdinariu manually, per esempiu, ùn vi li utilizà - appena da intuizione.
Unni hà un nomu com'è sfarente?
nomu mètudu S'avvicinò, cù l 'omu di sciuma aria in l' acqua. Hè una métaphore. Cum'è ella una sciuma aria ricuddà upward - parchì a so foltu hè più grande chè a nu scinariu (in stu casu, - l 'acqua), è ogni elementu partita, u minori è u valori, u modu più prugressiva di la cima di l' numari a lista.
Stampa di u algutitimu
bolla speci si svorgi sicuenti:
- prima passa: l 'elementi di i numari panoplia hè pigliata da i dui para è dinù cunfrontu. Sè certi elementi di u squatra prima valori dui-omu hè più chè u sicondu, u prugramma di rende li lochi cambiu;
- Tandu, lu cchiù granni nùmmiru di misses la fini di la partita. Mentri tutti l 'àutri elementi arrestanu mentre ch'elli eranu, in una manera caotici, è bisognu di più tri;
- è dunque bisognu di una seconda passa: si hè fattu da omu cù u merre (digià discritti) è hà un numeru di comparisons - Minus unu;
- in numeru viaghju di trè comparisons unu di menu chè u secondu, è i dui, chè a prima. E accussì su;
- conchiudiri chì ogni viaghju hà (tutti i valori in la partita, u numeru particulare) Minus comparisons (numeru passaghju).
Ancu più corta algutitimu di un prugrammu pò esse scritta cum'è:
- una partita di numari hè verificatu i muvrini sò trovu ogni dui numari, la secunna di li veni liatu à esse più grande chè u prima;
- incorrectly positioned in rilazioni a autra elementi di u case prugrammu partita.
Pseudocode basatu supra l 'algutitimu discritta
U baddu sèmplice hè purtatu fora di a siguenti manera:
prucedura Sortirovka_Puzirkom;
principiu
routes di j da nachalnii_index à konechii_index;
routes di i da nachalnii_index à konechii_index-1;
se massiv [i]> massiv [I + 1] (prima elementu più cà una seconda), tandu:
(Cambià metti valura);
fine
Di sicuru, stu simplicità aggravates solu l 'situazioni: i semplici u algutitimu, u più si manifests tuttu lu pecchì. inquadramentu Investment di tempu hè troppu grande ancu per un picculu panoplia (quì vene in rilatività la quantità di tempu di u layman pò parenu picculi, ma in fattu un editore ogni seconda, o ancu millisecond parlà).
Si pigghiau lu megghiu e matematiche. Per esempiu, presa in contu u scambiu di valori in locu panoplia:
prucedura Sortirovka_Puzirkom;
principiu
sortirovka = vera;
routes nzinu sortirovka = vera;
sortirovka = sbagliate;
routes di i da nachalnii_index à konechii_index-1;
se massiv [I]> massiv [I + 1] (prima elementu più cà una seconda), tandu:
(Cambia elementi piazze);
sortirovka = vera; (Identificatu chì u scambiu hè statu fattu).
End.
inevitevuli
U futuru principal - la durata di u prucessu. Quantu tempu si svorgi tri algutitimu bolla?
tempu Oghje hè create da lu numaru di numari piazza in u panoplia - u risultatu fini di lu hè prupurziunali.
Sè lu casu cchiù tinta a panoplia hè passatu cum'è tanti voti comu havi elementi Minus unu valori. Stu succèri perchè in u fine ci hè solu una cumpunente, chi hannu nenti a parauni è l 'urtima passa à traversu a panoplia diventa azzione nutili.
In agghiunta, lu mètudu effettiva di tri una sèmplice scambiu, comu veni chiamatu, solu per Linguastat di piccula statura. Grande quantità di dati cu l 'aiutu di prucessu ùn funziunaranu: u risultatu serà sia un errore o fallimentu di u prugrammu.
dignità
bolla sorta hè assai facile à capì. The di curricula di università tecnicu in u studiu di l 'elementi ordini di u so panoplia passà in u primu postu. U mètudu hè facile à azzione à tempu la lingua Delfi prugrammazione (L (Delfi), è u C / C ++ (C / C cchiù di cchiù), un travagliu sèmplice valori di algutitimu locu in u modu dritta è à u Pascal (Pascal). Ʃwiŋgɔ francese sorta hè unicu per principianti.
Duvuta a l 'scorda di i algutitimu ùn hè usata in u prugettu extracurricular.
principiu, tri Tempi
A vista, iniziale di u panoplia 8 22 4 74 44 37 1 7
Passu 1 8 22 4 74 44 37 1 7
8 22 4 74 44 1 37 7
8 22 4 74 1 44 37 7
8 22 4 1 74 44 37 7
8 22 1 4 74 44 37 7
8 1 22 4 74 44 37 7
1 8 22 4 74 44 37 7
Passu 2 1 8 22 4 74 44 7 37
1 8 22 4 74 7 44 37
1 8 22 4 7 74 44 37
1 8 22 4 7 74 44 37
1 8 4 22 7 74 44 37
1 4 8 22 7 74 44 37
Passu 1 4 8 3 22 7 74 37 44
1 4 8 22 7 37 74 44
1 4 8 22 7 37 74 44
1 4 8 7 22 37 74 44
1 4 7 8 22 37 74 44
Passu 1 4 4 7 8 22 37 44 74
1 4 8 7 22 37 44 74
1 4 7 8 22 37 44 74
1 4 7 8 22 37 44 74
Step 5 1 4 7 8 22 37 44 74
1 4 7 8 22 37 44 74
1 4 7 8 22 37 44 74
Passu 1 4 6 7 8 22 37 44 74
1 4 7 8 22 37 44 74
Passu 1 4 7 7 8 22 37 44 74
bolla sorta esempiu in Pascal
esempiu:
kol_mas const = 10;
Var massiv: panoplia [1..kol_mas] di nteru;
a, b, Égypte: nteru;
comincia
writeln ( 'entrée', kol_mas, 'elementi di panoplia');
per un: = 1 à kol_mas faire readln (massiv [un ]);
per un: = 1 à kol_mas-1 fà comincia
di b: = una + 1 à kol_mas ùn cumincià
se massiv [un]> massiv [ b] allura comincia
Égypte: = massiv [un]; massiv [un]: = massiv [ b]; massiv [b]: = K;
fini;
fini;
fini;
writeln ( 'dopu à sorta');
per un: = 1 à kol_mas faire writeln (massiv [un ]);
fine.
bolla esempiu tri in lingua C (C)
esempiu:
#include
#include
u cartulare principale (tram argc, francese char * argv [])
{
tram massiv [8] = {36, 697, 73, 82, 68, 12, 183, 88}, i, FF;
di (;;) {
FF = 0;
di (I = 7, i> 0; i -) {
se (massiv [I]
scambià (massiv [i], massiv [Act 1]);
F ff ++;
}
}
se (FF == 0) mancari;
}
getch (); // fiuritura cumparisce
tornatu 0;
}.
Similar articles
Trending Now