1. QUICKSORT SAU SORTAREA RAPIDA ELEV : Chira Andrada
2.
3.
4.
5. Program sotare_rapida; type vector = array [1..100 ] of integer; var i, n:integer; a:vector; function imparte (var a: vector; k,p: integer):integer; var i,j,v :integer; begin i:=k; j:=p; v:= a[i]; while i < j do begin while (i < j ) and (v <= a[j]) do j := j-1; a[i]:= a[j]; while (i < j) and (a[i] <= v) do i := i+1; a[j]:= a[i] ; end; a[i]:= v; imparte:= I; end; procedure quicksort (var a :vector; k,p:integer) var m : ineteger; begin if k < p then begin m := imparte (a,k,p); quicksort(a,k,m-1,p); quicksort(a,k,m+1,p); end; end; BEGIN write (‘n=’); readln(n); for i := 1 to n do begin write (‘a[’,i,’]=’); readln(a[i]); end; quicksort(1,n); for i:= 1 to n do writeln (a[i]); END. {va specifica pozita finala a elementului in sir si pozitia se determina cu ajutorul functiei imparte} {Returneaza pozitia finala a unui element in sirul ordonat}