Documente Academic
Documente Profesional
Documente Cultură
s s
s
s s
OBIECTIVE: cunoasc semnificaia noiunii de sortare; descrie algoritmul n limbaj natural; cunoasc ce variabile sunt necesare; implementeze algoritmul n limbaj C++; rezolve probleme ce necesit sortri.
DESCRIEREA METODEI
Prin aceast metod se parcurge tabloul i se compar fiecare element cu succesorul su. Dac nu sunt n ordine, cele dou elemente se interschimb ntre ele. Tabloul se parcurge de mai multe ori, pn cnd, la o parcurgere complet, nu se mai execut nicio interschimbare ntre elemente (adic tabloul este sortat).
ENUNUL PROBLEMEI:
Se d un tablou a cu n elemente ntregi. S se realizeze sortarea cresctoare a elementelor tabloului.
VARIABILE NECESARE
a tabloul unidimensional; n lungimea tabloului; aux pentru interschimbul elementelor (de acelai tip cu elementele tabloului); i contor (utilizat pentru parcurgerea tabloului); f variabil logic (se utilizeaz pentru a ti dac s-a fcut cel puin o operaie de interschimbare la parcurgerea tabloului).
2.
3.
Se iniializeaz variabila f cu 1 (adic se presupune c irul este sortat); Se ncepe parcurgerea tabloului plecnd de la i=0 (primul element al tabloului); Se compar elementul a[i] cu elementul urmtor a[i+1]:
4.
5. 6. 7.
Se trece la urmtoarea poziie n tablou prin incrementarea lui i; Se continua parcurgerea tabloului fcnd comparaiile necesare pn cnd i ajunge la valoarea n-2; Se reia algoritmul ncepnd cu pasul 1 ct timp f=0, Cnd f rmne 1 atunci nseamn c tabloul este sortat cresctor (la ultima parcurgere nu s-a realizat nici un interchimb de elemente).
Dac a[i] > a[i+1] atunci se realizeaz interschimbul celor dou elemente i variabila f primete valoarea 0;
n=4
f=1
i=0
>
DA
SE REALIZEAZ INTERSCHIMBUL ELEMENTELOR
f=0
f=0
i=1
>
DA
SE REALIZEAZ INTERSCHIMBUL ELEMENTELOR
f=0
f=0
i=2
> DA
SE REALIZEAZ INTERSCHIMBUL ELEMENTELOR
f=0
f=0
f=0 DA
f=1
i=0
>
DA
SE REALIZEAZ INTERSCHIMBUL ELEMENTELOR
f=0
f=0
i=1
>
DA
SE REALIZEAZ INTERSCHIMBUL ELEMENTELOR
f=0
f=0
i=2
>
NU
f=0
f=0 DA
f=1
i=0
>
DA
SE REALIZEAZ INTERSCHIMBUL ELEMENTELOR
f=0
f=0
i=1
> NU
f=0
i=2
> NU
f=0
f=0 DA
f=1
i=0
> NU
f=1
i=1
>
NU
f=1
i=2
>
NU
f=1
f=0 NU
Tabloul iniial:
f=0; }
APLICAII
1.
Dndu-se un tablou cu n elemente numere naturale, i o variabil p natural (p<n), s se sorteze cresctor tabloul pn la elementul p i de la elementul p descresctor.
APLICAII
2.
Dndu-se un tablou cu n elemente numere naturale, s se localizeze elementul maxim i toate elementele dinaintea lui s se sorteze cresctor, iar cele de dup el,descresctor.
APLICAII
3.
Se introduce anul naterii pentru un numr de n persoane, n introdus i el de la tastatur. S se afieze vrstele persoanelor n ordine cresctoare.
TEM
Pentru un experiment privind inteligena unor maimue se aeaz pe mas un numr de maxim 20 de cuburi. Maimuele sunt nvate s aleag cuburile astfel nct s formeze din toate un turn stabil. Pentru fiecare maimu, nainte de testare, este nevoie s se rearanjeze cuburile n ordinea iniial. S se alctuiasc algoritmul dup care o maimu ar trebui s formeze turnul, astfel nct s se poat reface aezarea iniial a cuburilor.