Bir Birleştirme Sıralaması algoritması için sözde kod yaz.
MergeSort(A, startIndex, endIndex):
 // Dizide yalnızca bir öğe varsa, return
 if startIndex == endIndex:
 return

 middleIndex = (startIndex + endIndex) ) / 2

 // Dizinin sol yarısını sırala
 MergeSort(A, startIndex, middleIndex)

 // Dizinin sağ yarısını sırala
 MergeSort(A, middleIndex + 1, endIndex )

 // Sıralanmış iki diziyi birleştir
 Merge(A, startIndex, endIndex)

Merge(A, startIndex, endIndex):
 middleIndex = (startIndex + endIndex) / 2
 leftIndex = startIndex 
 rightIndex = middleIndex + 1

 // Sıralanan diziyi tutmak için geçici dizi
 tempArray[]

 // Dizinin her iki yarısını da yineleyin
 i aralığında (startIndex, endIndex+1) ):
 // Sol yarının yinelemesi bittiyse sağ yarısından ekle
 if leftIndex > middleIndex:
 tempArray[i] = A[rightIndex]
 rightIndex++

 // Sağ yarının yinelemesi bitti , sol yarıdan ekleyin
 else if rightIndex > endIndex:
 tempArray[i] = A[leftIndex]
 leftIndex++

 // Geçerli öğeyi karşılaştırın ve daha küçük öğeyi ekleyin
 else if A[leftIndex] < A[rightIndex]:
 tempArray[i] = A[leftIndex]
 leftIndex++
 else:
 tempArray[i] = A[rightIndex]
 rightIndex++

 // TempArray'i tekrar A'ya kopyalayın
 for i in n(startIndex, endIndex+1):
 A[i] = tempArray[i]