このアルゴリズムが動作するためには、入力配列は昇順にソートされていなければならない。このロジックは、真ん中の整数とターゲットの整数を比較し、それがターゲットと等しいか、ターゲットより小さいか、大きいかによって、左右のポインタを更新して次の探索領域を定義します。もし昇順にソートされていなければ、ポインタはターゲットが存在しない配列の領域に更新され、左と右が等しくなった時点でwhileループが終了してしまう可能性がある。
The input array must be sorted in an ascending order for this algorithm to work. The logic compares the middle integer with the target integer, and relies on it be either equivalent, less or greater than the target to define the next search area by updating the left and right pointers. If it weren't sorted in ascending order, the pointers could be updated to an area of the array where the target does not exist, causing the while loop to terminate once left and right become equal.