例如arr=["action","bicycle","binary","code","download"]就是一个按字典序排列的序列,我要在里面查找"bicycle"这个单词。
第一次查找,left=0,right=4,mid=2,arr[mid]="binary",因为"bicycle"的字典序小于"binary",所以将right置为mid-1=1。下次应该在[0,1]之间进行查找。
第二次查找,left=0,right=1,mid=0,arr[mid]="action",因为"bicycle"的字典序大于"action",所以将left置为mid 1=1。下次应该在[1,1]之间进行查找。
第三次查找,left=1,right=1,mid=1,arr[mid]="bicycle",因为"bicycle"的字典序等于"bicycle"的字典序,所以此刻查找到了"bicycle",返回下标mid=1。
读到这里,我可以跟大家坦白了,以上的仅仅是二分查找的开胃菜。