Merge sort slice را نصف میکند، هر نیمه را بازگشتی مرتب میکند و با برداشتن مکرر کوچکترین عنصر ابتدای دو نیمه آنها را ادغام میکند. وقتی دو عنصر برابرند اول سمت چپ را برمیدارد و همین آن را پایدار میکند. هزینهاش یک بافر موقت هماندازهی ورودی است.
Merge sort
نصفکردن، مرتبکردن هر نیمه و ادغام دو نیمهی مرتب؛ همیشه O(n log n)، پایدار، ولی با O(n) حافظهی اضافه.