Zad.1 Algorytm sortujący liczby od 1 do 99 (rosnąco) w tabeli.

Zad.1 Algorytm sortujący liczby od 1 do 99 (rosnąco) w tabeli.
Odpowiedź

Np. bardzo szybki algorytm sortowania przez zliczanie - złożoność O(n). Implementacja C++ A - tablica, size - rozmiar tablicy, max - maxymalna wartość elementu w tablicy, założenie - w tablicy masz liczby >= 0 Po wywołaniu funkcji będziemy mieć posortowaną rosnąco tablicę A. void counting_sort(int *A, int size, int max) { int *B=new(int[size]); // temp int *C=new(int[max+1]); // indexy for(int i=0; i<=max; i++)// można też użyć memset() C[i]=0; for(int i=0; i=0; i--) { B[C[A[i]]-1]=A[i]; C[A[i]]--; } for(int i=0; i

Ten algorytm jest zapisany w Pascalu i wykorzystuje sortowanie bąbelkowe : program p_3_1; uses crt; var i,j,k:byte; t:array[1..99]of byte; begin randomize; for i:=1 to 99 do t[i]:=random(200); for i:=1 to 98 do for j:=i+1 to 99 do if t[i]>t[j] then begin k:=t[i]; t[i]:=t[j]; t[j]:=k; end; for i:=1 to 99 do write(t[i]:4); readln; end. Jeśli chcesz zmienić wartość liczb to zmień w linijce for i:=1 to 99 do t[i]:=random(200); na for i:=1 to 99 do t[i]:=i;

Dodaj swoją odpowiedź