AlexNew22, бинарный поиск в своей основе ждет, что мы ищем в отсортированном массиве, т.к. по алгоритму мы будем смещаться в правую или левую части, если значения не отсортированы, то такой алгоритм просто не имеет смысла. Дальше реализация меняется в зависимости от языка, самый простой и понятный вариант, - сравнивать лексически, обычно языки дают для этого встроенную функцию, например, compareTo() из Java вернет 0, если строки будут равны, далее если аргумент будет лексически больше, то вернется ортицательное число, иначе положительное число. Поэтому, как мы можем видеть в коде выше, идет проверка на 0 и значения больше 0 (можно было и на значения меньше 0)