Redes de classificação padrão para pequenos valores de n

Estou procurando uma implementação de rede de classificação de 5 elementos, mas como não consegui encontrar uma boa referência no SO, gostaria de solicitar redes de classificação para todos os pequenos valores de n, pelo menos n = 3 até n = 6, mas valores mais altos também seriam ótimos. Uma boa resposta deve pelo menos listá-las como sequências de operações "swap" (classificar em 2 elementos), mas também pode ser bom ver a decomposição recursiva em termos de redes de classificação de ordem inferior.

Para meu aplicativo, na verdade, eu me importo apenas com a mediana de 5 elementos, e não com a ordem de colocá-los. Ou seja, a ordem dos outros 4 elementos pode não ser especificada no resultado, desde que a mediana termine no lugar certo. Uma abordagem relacionada às redes de classificação pode ser usada para calcular a mediana com menos trocas do que executar uma classificação completa? Nesse caso, essa solução para o meu problema (para n = 5) e para outros casos também seria uma ótima resposta.

(Nota: marquei esta questão como C porque C é o idioma que eu uso e suspeito que as pessoas que seguem a tag C tenham boas respostas, mas não me importo se uma resposta está realmente escrita em C versus pseudo-código como desde que seja facilmente traduzido para C, o que deve ser feito naturalmente desde que os critérios mencionados acima sejam atendidos.)

questionAnswers(3)

yourAnswerToTheQuestion