Изменения

Перейти к: навигация, поиск
м
Использование буфера обмена
== Использование буфера обмена ==
Попытаемся слить первый и второй блок. Поменяем местами первый блок с буфером обмена. И, как в обычном слиянии, пользуясь двумя указателями, сливаем вторую группу второй блок и только что измененный буфер. Результат начинаем записывать с начала первой группыпервого блока. Чтобы не потерять данные, вместо записи используем обмен элементов. Так как блоки имеют одинаковую длину и между указателем на второй блок и указателем на запись расстояние равно длине блока, то слияние произойдет корректно.
[[Файл:Merge_O(1)_buffer.png|center|355px]]
338
правок

Навигация