Раньше я рассматривал алгоритмы поиска, а на этот раз я расскажу о сортировке выбором, которая является алгоритмом сортировки. В конечном итоге у нас есть массив, который мы хотим упорядочить или отсортировать от наименьшего значения до наибольшего значения. Для сортировки выбором мы смотрим на массив значений и сравниваем их так, чтобы массив начинался с более низких значений.

Для этого нам нужно сохранить первый элемент, с которым мы сталкиваемся, потому что нам нужно сравнить его с другим значением, следующим значением в массиве элементов. Когда мы проходим через весь массив, наименьшее значение заменяется первым просмотренным элементом.

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

Я добавил несколько console.logs, чтобы мы могли видеть, как массив сортируется путем перестановки в строках 12 и 13, и мы можем видеть, что в конце возвращаемый массив фактически отсортирован от самых низких значений до самых больших значений. Затем мы могли бы запустить бинарный поиск, например, для поиска определенного значения, потому что теперь это отсортированный массив.