Первая , Преждевременная оптимизация - корень всего зла . То есть, сначала сравните ваш код и убедитесь, что сортировка занимает больше всего времени. Если другая часть вашего кода, критичного к производительности, занимает 80% времени выполнения, вы получите существенное улучшение производительности, оптимизировав это в первую очередь.
Учитывая, что у вас есть 5 элементов, вопрос в значительной степени спорный. Любой используемый вами алгоритм (кроме bogosort: D) должен иметь довольно постоянное время выполнения, если вы не запускаете алгоритм несколько сотен раз в секунду или более.
Второй , если вы все еще хотите оптимизировать поиск, если вы точно знаете, , у вас всегда будет 5 элементов , , оптимальный метод - жесткое кодирование comparations (математически можно доказать, что этот метод является оптимальным, обеспечивая минимальное количество выполняемых операций в худшем случае - это было у нас в качестве лабораторного приложения в университете). То же самое применимо, если у вас менее пяти элементов, но алгоритм становится невозможным для записи и выполнения, если у вас более семи элементов - логика запутана для написания и следования, поэтому ваш код будет трудно поддерживать.
Дайте мне знать, если вам нужна помощь в написании самого оптимального жестко запрограммированного алгоритма (хотя я думаю, что вы должны найти реализацию и теорию в сети).
Если у вас не всегда есть пять чисел (или по какой-то причине хотите избежать использования алгоритма сравнения с жестким кодом), используйте сортировку, предоставляемую библиотекой. На этой странице делается вывод, что сортировка stl является оптимальной по времени (не только по количеству выполненных операций). Я не знаю, какая реализация использовалась для поиска.