Сортировка массива так, чтобы 3 типа объектов были равномерно распределены по всему массиву? - PullRequest
1 голос
/ 17 октября 2011

Итак, скажем, у меня есть три разных массива объектов, и я хочу объединить их в один отсортированный массив. Я хочу, чтобы порядок был таким, чтобы элементы из каждого массива равномерно распределялись по всему отсортированному массиву.

Если бы было 3 xItems, 3 yItems и 3 zItems, отсортированный массив имел бы следующий порядок: x, y, z, x, y, z, x, y, z

ОДНАКО, даже если массивы имеют разную длину, мне все равно нужно, чтобы они чередовались в максимально возможной степени. Если было 6 xItems, 4 yItems и 2 zItems, отсортированный массив должен иметь следующий порядок: х, у, х, у, х, з, х, у, х, у, х, z

Самый близкий ответ, который я смог найти, был этой веткой , где, к сожалению, они так и не нашли ответ: (

Я работаю в ActionScript 3. Спасибо всем, кто может направить меня в правильном направлении!

1 Ответ

2 голосов
/ 18 октября 2011

Вам нужно разбить эту проблему на более мелкие проблемы.Моя попытка сделать это будет выглядеть примерно так:

Задача 1: Как объединить 2 коллекции, чтобы элементы были равномерно распределены.

Коллекция A: XXXXXX

Коллекция B: ГГ

Результат: XXXYXXXY

Задача 2: Как объединить 3 коллекции?

Я бы поступил следующим образом:

Шаг 1: Сортировка коллекции 3 по длине.

Шаг 2: Слияние 2 самых коротких коллекций в одну коллекцию с решением из Задача 1.

Шаг 3: Слияние третьей коллекции с результатом из Шаг2 снова с тем же алгоритмом из Задача 1.

Итак, теперь вам нужно решить только Задача 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...