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
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;