Jest to osiągane dzięki zastosowaniu nieostrej nierówności w warunku instrukcji JEŻELI w szóstej linii scalania.
Algorytm rekurencyjny Wyróżnić można trzy podstawowe kroki: Podział zestawu danych na dwie równe częściW przypadku nieparzystej liczby wyrazów jedna część będzie o jeden wyraz dłuższa.. Należy zwrócić uwagę, że w przypadku sortowania wektora (tablicy jednowymiarowej) podział nie ma sensu, bo wektor jest ze swej istoty "podzielony" - dostęp do każdego z jego elementów ma taki sam koszt. Zastosowanie sortowania przez scalanie dla każdej z nich oddzielnie, chyba że pozostał już tylko jeden element. Połączenie posortowanych podciągów w jeden posortowany ciąg.
W pseudokodzie algorytm można zapisać następująco: SORT-SCAL(T, p, r): JEŚLI p < r: q → (p+r)/2 SORT-SCAL(T, p, q) SORT-SCAL(T, q+1, r) SCALANIE(T, p, q, r)
Procedura scalania dwóch ciągów i do ciągu : Utwórz wskaźniki na początki ciągów i → Jeżeli ciąg wyczerpany dołącz pozostałe elementy ciągu do i zakończ pracę. Jeżeli ciąg wyczerpany dołącz pozostałe elementy ciągu do i zakończ pracę. Jeżeli dołącz do i zwiększ o jeden, w przeciwnym przypadku dołącz do i zwiększ o jeden. Powtarzaj od kroku 2 aż wszystkie wyrazy i trafią do
Scalenie wymaga operacji porównań elementów i wstawienia ich do tablicy wynikowej.