Нерекурсивная сортировка слиянием с двумя вложенными циклами - как?

Первый вопрос здесь, и да, это вопрос домашнего задания. Нам поручено выполнить сортировку слиянием в массиве (с которым я знаком), но в каком-то смысле я не знаю, как это сделать. Обычно у меня есть отдельная функция слияния и сортировки слияния, и я использую обе. Однако, похоже, он хочет все одним способом? Я просто надеялся, что, может быть, кто-то сможет помочь мне прояснить ситуацию или сформулировать их в терминах, которые я могу лучше понять.

Из задания:

вам нужно будет реализовать нерекурсивную версию алгоритма сортировки слиянием . Организуйте два вложенных цикла для выполнения этой задачи. Внешний цикл должен указывать размер сегментов для слияния. Внутренний цикл должен позаботиться о выборе позиций сегментов.Внутренний цикл должен начинаться с левого края и перемещать ваши сегменты вправо. Расположите соответствующие значения переменных слева, посередине, справа так, чтобы сортировка выполнялась только повторение вызова merge (a, left, middle, right).

Ненавижу быть таким расплывчатым, но я действительно не понимаю ничего из того, что он говорит. Во-первых, что означает «внешний цикл должен обеспечивать размер сегментов»? Как цикл что-нибудь предоставляет ? А как насчет следующего предложения - что он подразумевает под сегментами? Данные?

Я не прошу код, но любой псевдокод будет действительно полезен.

Если бы кто-нибудь мог попытаться расшифровать, что он имеет в виду, я был бы признателен. Я уже написал ему об этом по электронной почте, но прошло несколько часов, а я еще не получил ответа.

Спасибо!

11
задан Adam Burry 12 October 2013 в 04:15
поделиться