TelefoniaPrugrammazione

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] [Act 1]) {

scambià (massiv [i], massiv [Act 1]);

F ff ++;

}

}

se (FF == 0) mancari;

}

getch (); // fiuritura cumparisce

tornatu 0;

}.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 co.birmiss.com. Theme powered by WordPress.