Первый вопрос здесь, и да, это вопрос домашнего задания. Нам поручено выполнить сортировку слиянием в массиве (с которым я знаком), но в каком-то смысле я не знаю, как это сделать. Обычно у меня есть отдельная функция слияния и сортировки слияния, и я использую обе. Однако, похоже, он хочет все одним способом? Я просто надеялся, что, может быть, кто-то сможет помочь мне прояснить ситуацию или сформулировать их в терминах, которые я могу лучше понять.
Из задания:
вам нужно будет реализовать нерекурсивную версию алгоритма сортировки слиянием . Организуйте два вложенных цикла для выполнения этой задачи. Внешний цикл должен указывать размер сегментов для слияния. Внутренний цикл должен позаботиться о выборе позиций сегментов.Внутренний цикл должен начинаться с левого края и перемещать ваши сегменты вправо. Расположите соответствующие значения переменных слева, посередине, справа так, чтобы сортировка выполнялась только повторение вызова merge (a, left, middle, right).
Ненавижу быть таким расплывчатым, но я действительно не понимаю ничего из того, что он говорит. Во-первых, что означает «внешний цикл должен обеспечивать размер сегментов»? Как цикл что-нибудь предоставляет ? А как насчет следующего предложения - что он подразумевает под сегментами? Данные?
Я не прошу код, но любой псевдокод будет действительно полезен.
Если бы кто-нибудь мог попытаться расшифровать, что он имеет в виду, я был бы признателен. Я уже написал ему об этом по электронной почте, но прошло несколько часов, а я еще не получил ответа.
Спасибо!