折半查找1234567891011121314151617int Search(int a[],int x,int arraySize){ int low = 0 , high = arraySize-1; int mid = (high - low) / 2 + low; while(low <= high){ //注意这里为什么是等于,因为low与high始终在闭区间内运算,当low=high时,仍有一个值没有运算。 if(a[mid] == x){ return x; }else{ if(a[mid] < x){ mid = low +1 ; } if(a[mid] > x){ mid = high - 1; } } }}