Перемещение номера очереди в связанном списке - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть очередь входных связанных списков [2,5,3,1,2,4]. Как я могу переместить все четные числа в начало и нечетное число в конец выходного файла? Я не могу изменить порядок номеров, например, это не может быть [2,4,2,1,3,5]. Это должно быть [2,2,4,5,3,1]. Я уже реализовал очередь, но я не знаю, как сделать сортировку.

1 Ответ

1 голос
/ 24 апреля 2020

Использовать другую очередь. Итак, вы начинаете с двух очередей:

q1: [2,5,3,1,2,4]
q2: []

Вы знаете длину q1.

Теперь удалите предмет из головы q1. Если это даже, добавьте это к q2. Если это странно, повторно добавьте его в q1. Сделайте это для каждого элемента в q1. Это выглядит так:

step 1:
q1: [5,3,1,2,4]
q2: [2]

step 2:
q1: [3,1,2,4,5]
q2: [2]

step 3:
q1: [1,2,4,5,3]
q2: [2]

step 4:
q1: [2,4,5,3,1]
q2: [2]

step 5:
q1: [4,5,3,1]
q2: [2,2]

step 6:
q1: [5,3,1]
q2: [2,2,4]

Теперь, когда они разделены на четные и нечетные, вы удаляете вещи из q1 и добавляете их к q2.

...