Dyzzet|
C++ Data Science Алгоритмы Темы · Блог · YouTube · Telegram
Сортировка слиянием
Интерактивная анимация
Автор: Алексей Волков

 
function mergeSort(data[], size)
{
if (size > 1)
{
sizeLeft = size / 2;
sizeRight = size - sizeLeft;
mergeSort(data, sizeLeft);
mergeSort(data, size / 2, sizeRight);
temp = new Array(size);
indexLeft = 0;
indexRight = size / 2;
indexTemp = 0;
while (indexLeft < sizeLeft && indexRight < size)
{
if (data[indexLeft] < data[indexRight])
{
temp[indexTemp] = data[indexLeft];
++indexLeft;
++indexTemp;
} else {
temp[indexTemp] = data[indexRight];
++indexRight;
++indexTemp;
} }
while (indexLeft < sizeLeft)
{
temp[indexTemp] = data[indexLeft];
++indexLeft;
++indexTemp;
}
while (indexRight < size)
{
temp[indexTemp] = data[indexRight];
++indexRight;
++indexTemp;
}
data = temp;
}
return;
}
Зарегистрируйтесь и войдите, чтобы оставлять комментарии и голосовать.

Также может быть интересным
На моём YouTube-канале

Класс матрицы на современном C++

Почему в C++ больше нет auto_ptr

Простое бинарное дерево на C++ с нуля. Как исключить диапазоны IP-адресов
© MMXI—MMXXVI. RSS
 Boosty
Светлая тема / тёмная тема