Treceți la conținutul principal

Prezentat

Forum 02.03.21 Tehnici de programare Limbajul Pascal

    • Tehnica Greedy -Statistica • Problema Comis Voiajerului • Metoda Backtraking Problema Reginelor • Turnuri de Hanoi • Tehnici de sortare metoda Bublesort • Metoda Trierii Pușculița

Metoda Bublesort


 program bublesort;

type vector=array[1..100] of byte;

const a:vector=(169, 639, 570, 737, 415, 820, 515, 384, 232, 451, 892, 229, 273, 255, 737, 599, 54, 308, 584, 498, 498, 159, 704, 996, 692, 561, 177, 283, 305, 316,

620, 53, 802, 834, 700, 409, 610, 1, 481, 413, 55, 581, 437, 207, 321, 992, 720, 493, 198, 696, 493, 488, 157, 886, 663, 772, 589, 488, 377, 278, 499, 112, 401, 354, 804, 131, 73, 630, 102, 131, 471, 429, 993, 324, 434, 213, 735, 832, 506, 898, 51, 467, 117, 863, 625, 558, 200, 760, 86, 992, 986, 470, 883, 382, 175, 709, 164, 950, 896, 126);

    var i, j,aux,s,n:integer;

    begin

    {afisarea vectorului initial}

    writeln('Vectorul intial este');

    for i:=1 to 100 do begin

    write(' [ ',a[i],' ]'); 

    s:=s+1; 

    if s=5 then begin writeln; s:=0; end;

    end;

    {sortarea}

    for i:=1 to 99 do

        for j:=i+1 to 100 do begin

        

            n:=n+1;

            if (a[i]>a[j]) then begin

            

            aux:=a[i]; n:=n+1;

            a[i]:=a[j]; n:=n+1;

            a[j]:=aux; n:=n+1;

            end; end;

        

    {afisarea vectorului sortat}

    writeln('Vectorul sortat este:');

    s:=0;

    for i:=1 to 100 do begin

    s:=s+1;

        writeln(a[i]);

        if s=10 then begin writeln; s:=0; end;

    end;

    {afisarea numarului de operatii}

    writeln('Au fost efectuate ',n,' operatii');

    end.

Comentarii

Postări populare