сравнивая числа, чтобы отсортировать, затем получить среднее значение

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

Вот мой код для получения наибольшего числа:

#include <stdio.h>

int main() {
    int a, b, c, d, e;
    int aa, bb, cc, dd, ee;

    a = 4; b = 2; c = 5; d = 1; e = 3;

    aa = (a > b) ?
         ((a > c) ? ((a > d) ? ((a > e) ? a : e) : ((d > e) ? d : e)) :
                    ((c > d) ? ((c > e) ? c : e) : ((d > e) ? d : e))) :
         ((b > c) ? ((b > d) ? ((b > e) ? b : e) : ((d > e) ? d : e)) :
                    ((c > d) ? ((c > e) ? c : e) : ((d > e) ? d : e)));


    printf("highest: %d\n", aa);
    return 0;
}

Я думаю, что с помощью этого метода можно получить второе, третье, четвертое и пятое наибольшее число.

Есть ли другой способ получить медиану из пяти целых чисел, используя операторы сравнения / побитовые операции? любой другой комбинаторный метод может быть действительным.

Кстати, я собираюсь реализовать этот алгоритм на аппаратном уровне.

Использование комбинаторного метода в сортировке будет быстрым, а не конечным автоматом.

Ответы на вопрос(3)

Ваш ответ на вопрос