LightElf (12.04.2024 18:56, просмотров: 97) ответил Idler на Маленький вопросик: Есть uint16_t captures[4]. Как самым быстрым
способом найти в нем второе сверху по величине значение.
Сортировка, даже 4 значений, дольше, чем хотелось бы. Вроде бы
можно сделать несколько сравнений с построением индекса (т.е, по
результату первого сравнения +1, по второму +2, по третьему +4
и.т.д), потом таблично. Но вариантов размещения 4 чисел всего 24, а
сравнение каждого с каждым дает индекс [0..63], то есть 6 сравнений
избыточны...
Ну пять сравнений - это ж легко. Находим максимальное - три
сравнения. Из оставшихся трех максимальное - два сравнения.
Не надо делать мне как лучше, оставьте мне как хорошо