-- iteracja po histogramie, ++ oznacza konkatenację sekwencji [] -- start: pusta sekwencja wyjściowa [] ++ = -- element o wartości 0 w sekwencji wejściowej v występuje z razy (=1) ++ [] = -- element o wartości 1 w sekwencji wejściowej v występuje z razy (=0) ++ = [0, 2] -- element o wartości 2 w sekwencji wejściowej v występuje z razy (=1) [0, 2] ++ [3, 3] = [0, 2, 3, 3, 3, 3] -- element o wartości 3 w sekwencji wejściowej v występuje z razy (=4)
wynik: [0, 2, 3, 3, 3, 3]
W powyższym przykładzie wykorzystano indeks (numerowany od zera) jako wartość elementu z wejściowej sekwencji v do pobrania danych z wygenerowanego histogramu z. W przypadku, gdy przedział wartości nie zawiera w sobie wartości 0, lub gdy histogram nie może być indeksowany w z góry zdefiniowany sposób, wymagana jest dodatkowa funkcja, która zapewni dostęp do z przy pomocy elementu z v. Zadanie takiej funkcji zwykle sprowadza się do manipulacji indeksami przy pomocy podstawowej arytmetyki.
Zalety i wady Główną zaletą tej metody jest liniowa złożoność obliczeniowa algorytmu – O(n+k) (n – oznacza liczebność zbioru, k – rozpiętość danych, czyli w przypadku liczb całkowitych: powiększoną o 1 różnicę między maksymalną a minimalną wartością, np. rozpiętość liczb w Dużym Lotku wynosi (49-1) + 1 = 49).