二分查找
又称折半查找,优点是比较次数少,查找速度快,平均性能好;缺点是要求待查找表是有序表,而且插入删除困难。因此,二分查找适用于不经常变动的有序列表。首先,假设表中元素按升序排列,将表中间的元素与待查找元素进行比较,如果两者相等,则查找成功;否则利用中间位置元素将表分成前后两个子表,如果表中间元素大于待查找元素,则在前一个子表中查找,否则在后一个子表中查找。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,这时查找失败。
循环方法
int findvalue(int* br, int n, int val) {
//二分查找,循环方法
assert(br != nullptr);
int pos = -1;
int left = 0, right = n - 1;
while (left <= right) {
int