Összefésülő rendezés (Merge sort)

Animáció

Az animáció fejlesztés alatt áll 😭😭

Struktogram

$MergeSort(A:\mathcal{T}[n])$

$B : \mathcal{T} [n]$
$B[0..n) := A[0..n)$
$ms(B,A)$

$ms(B, A : \mathcal{T}[n])$


$n > 1$

$m := \lfloor \frac{n}{2} \rfloor$ $\text{SKIP}$
$ms(A[0..m), B[0..m))$
$ms(A[m..n), B[m..n))$
$merge(B[0..m), B[m..n), A[0..n))$

$merge(A : \mathcal{T}[l]; B : \mathcal{T}[m], C : \mathcal{T}[n])$

$k := 0$
$i := 0$
$j := 0$
$i < l \land j < m$

$A[i] ≤ B[j]$

$C[k] := A[i]$ $C[k] := B[j]$
$i := i + 1$ $j := j + 1$
$k := k + 1$

$i < l$

$C[k..n) := A[i..l)$ $C[k..n) := B[j..m)$

Feladatok