Составить визуальный циклический алгоритм для задачи обработки упорядоченных одномерных...

0 голосов
36 просмотров

Составить визуальный циклический алгоритм для задачи обработки упорядоченных одномерных массивов. Соединить два упорядоченных массива Х(1) < = Х(2) < =…Х(n) и Y(1)< =Y(2)< =…Y(m) в массив Z(1) < = Z(2) < = … Z(k), при этом каждый элемент должен входить в массив Z столько раз, сколько раз он входит в массивы Х и Y.


Информатика (248 баллов) | 36 просмотров
0

А далее остаток просто копировать на выход.

0

Гyгл подсказывает, что это просто блок-схема. Жаль)Ну программу написать, которая бы красиво это делала, что и как выбирается-сравнивается

0

Такая штучка реализована, как часть quicksort

0

Или mergesort

0

Типа, как пары танцевального ансамбля демонстрируют на ЮТьюб алгоритмы сортировки?

0

Ага.

0

Ну это точно не на 5+3 балла...

0

Да и просто блок-схему тут будет гигантская.

0

...гинатская картинка

0

ГИГАНТСКАЯ картинка будет

Дан 1 ответ
0 голосов
Правильный ответ

См. вложенную картинку.

Сам алгоритм такой: представим, что у нас есть две стопки карточек, на каждой карточке написано число, в каждой стопке карточки упорядочены (на верхней карточке написано число не меньшее, чем на нижней). Требуется переложить эти карточки в ряд в порядке возрастания написанных на них чисел.

Мы сравниваем числа, написанные на самых верхних карточках в каждой стопке (все числа, написанные на карточках под ними - гарантированно больше). Карточку с меньшим числом кладём на очередное место в ряду и опять сравниваем карточки сверху каждой стопки. Когда одна из стопок кончилась - выкладываем по порядку все оставшиеся карточки.


image
(148k баллов)