Предположим, вы пишете bubblesort
функцию, которая позволяет вам сортировать часть массива:
bubblesort(arr, start, end)
{
// sorts the items from arr[start] to arr[end]
}
Так что, если у вас есть массив [1,7,4,9,6,3,2,5]
и он называется bubblesort(arr, 0, 3)
, результирующий массив будет [1,4,7,9,6,3,2,5]
.
А теперь представьте, что произойдет, если вы сделаете эти звонки:
bubblesort(arr, 0, 1);
bubblesort(arr, 2, 3);
bubblesort(arr, 4, 5);
bubblesort(arr, 6, 7);
Затем
bubblesort(arr, 1, 3);
bubblesort(arr, 4, 7);
И, наконец:
bubblesort(arr, 0, 7);
Это тот же шаблон вызова, что и сортировкой слиянием, но это определенно не сортировка слиянием.