用key与中点元素a[mid]比较,若key==a[mid],即找到,停止查找;否则,若key>a[mid],替换下限low=mid+1,到下半段继续查找;若keyhigh为止。如果low>high,说明没有此数,打印找不到信息,程序结束。 代码实现: 1 2 3 4 5
折半查找整个算法中,关于mid的取值向上/向下需要统一。 如果待查找序列中节点总数是偶数,计算mid值的时候一定涉及向上/向下取值问题。 向下取整 如果待查找序列中节点总数是偶数,且向下取整,那么mid作为排序树的根节点,它的左子树中节点总数一定比右子树中节点总数小1。 例如,在结点1,2,3,4中查找, low=1,high=...