Lekcja: "Algorytmy sortujące - sortowanie przez scalanie, sortowanie przez zliczanie"
Schemat blokowy algorytmu scalania
Indeksy elementów wstawianych do tablicy p[ ] są zawarte w zmienneji. Wewnątrz pętli sprawdzamy, czy indeksy i1i i2 wskazują elementy podzbiorów. Jeśli któryś z nich wyszedł poza dopuszczalny zakres, to dany podzbiór jest wyczerpany - w takim przypadku do tablicy p przepisujemy elementy drugiego podzbioru.
Elementy podzbiorów porównujemy tak długo dopóki jeden z nich nie będzie pusty.
Do tablicy p[ ] zawsze wpisujemy mniejszy z porównywanych elementów. Dzięki temu elementy są uporządkowane w tworzonym zbiorze wynikowym. Po zapisie elementu w tablicyp[ ], odpowiedni indeks i1 lub i2 jest zwiększany o 1. Rośnie także indeks i, aby kolejny zapisywany element w tablicyp[ ] trafił na następne wolne miejsce. Pętla jest kontynuowana aż do zapełnienia w tablicyp[ ] obszaruo indeksach od ip do ik.
W końcowej pętli, zostaje przepisany ten obszar z tablicyp[ ] do tablicy wynikowej d[ ]. Scalane zbiory zostają zapisane zbiorem wynikowym, który jest posortowany rosnąco.