Стандартные сети сортировки для малых значений n

Я ищу реализацию сети сортировки 5-элементной сортировки, но так как я не смог найти Хорошая ссылка на SO, я хотел бы попросить сортировку сетей для всех небольших значений n, по крайней мере, от n = 3 до n = 6, но и более высокие значения тоже подойдут. Хороший ответ должен, по крайней мере, перечислить их как последовательности операций «свопинга» (сортировки по 2 элементам), но также было бы неплохо увидеть рекурсивную декомпозицию в терминах сетей сортировки более низкого порядка.

Для моего приложения я на самом деле заботится только о медиане 5 элементов, а не о том, чтобы упорядочивать их. То есть порядок остальных 4 элементов может не указываться в результате, если медиана оказывается в нужном месте. Можно ли использовать подход, связанный с сетями сортировки, для вычисления медианы с меньшим количеством перестановок, чем при выполнении полной сортировки? Если да, то такое решение моей проблемы (для n = 5) и для других случаев тоже будет отличным ответом.

(Примечание: я пометил этот вопрос C, потому что C - это язык, который я использую, и я подозреваю, что люди у тех, кто следит за тегом C, есть хорошие ответы, но я не Меня действительно волнует, написан ли ответ на C, а не на псевдокоде, если он легко переводится на C, что, естественно, должно происходить, пока выполняются вышеупомянутые критерии.)

13
задан Paul R 1 December 2015 в 17:16
поделиться