二分查找
int binarysearch(int arry[], int n, int goal) { int low = -1; int high = n; while(low + 1 < high) { int mid = (low + high) >> 1; if(arry[mid] < goal) { low = mid; } else { high = mid; } } return (high >= n || arry[high] != goal) ? -1 : high; }
int binarysearch(int arry[], int n, int goal) { int low = -1; int high = n; while(low + 1 < high) { int mid = (low + high) >> 1; if(arry[mid] < goal) { low = mid; } else { high = mid; } } return (high >= n || arry[high] != goal) ? -1 : high; }