 เขียนรหัสเทียมเพื่อใช้การเรียงลำดับการผสาน
Merge Sort(A, n) ถ้า n == 1 ส่งกลับ A อื่น แยก A เป็นสองอาร์เรย์ย่อย: A1 และ A2 a = MergeSort(A1, n/2) b = MergeSort(A2, n/2) ส่งกลับ Merge(a , b) รวม (A1, A2) สร้างอาร์เรย์ว่าง: A i = j = 0 ในขณะที่ i < A1.length && j < A2.length ถ้า A1[i] < A2[j] A.append(A1[i] ) i++ Else A.append(A2[j]) j++ เพิ่มองค์ประกอบที่เหลือของ A1 และ A2 ให้กับ A Return A