Я ищу реализацию сортировочной сети для 5-элементной сортировки, но поскольку я не смог найти хорошую ссылку на SO, я бы попросил сортировать сети для всех малых значений n, по крайней мере n = 3 до n = 6, но более высокие значения также будут большими. Хороший ответ должен, по крайней мере, перечислить их как последовательности операций "своп" (сортировка по 2 элементам), но также было бы неплохо увидеть рекурсивную декомпозицию в терминах сетей сортировки более низкого порядка.
Для моего приложения я на самом деле забочусь только о медиане 5 элементов, а не о том, чтобы привести их в порядок. То есть порядок остальных 4 элементов может быть неуказан в результате, пока медиана окажется в нужном месте. Можно ли использовать подход, связанный с сортировкой сетей, для вычисления медианы с меньшим количеством свопов, чем при выполнении полного сортировки? Если это так, то такое решение моей проблемы (для n = 5) и для других случаев тоже сделало бы большой ответ.
(Примечание: я отметил этот вопрос C, потому что C - это язык, который я использую, и я подозреваю, что люди, которые следуют тегу C, имеют хорошие ответы, но мне все равно, действительно ли ответ написан на C по сравнению с псевдо -код до тех пор, пока он легко переводит на С, что он должен делать естественно, если удовлетворяются вышеупомянутые критерии.)