139
правок
Изменения
Нет описания правки
Процедуру слияния надо будет изменить, так, что-бы она записывала результат в результирующий массив (mas1)
<pre>sort(array * mas, int elementsAmount) array * mas1 = new array[elementsAmount]; for(int size = 1; size < elementsAmount; size *= 2) {
int start = 0;
merge(mas + start, mas + start,
mas + start + size,
mas + start + size + min(size,elementsAmount - start - size)); start += size * 2; forwhile (; start < elementsAmount; ++start)
mas1[start] = mas[start];
++start; array * temp = mas1;
mas1 = mas;
mas = temp;
</pre>