折半查找的基本思想
折半查找也称为二分查找(Binary search),要求线性表中的节点必须己按关键字值的递增或递减顺序排列。其基本思想是:首先用要查找的关键字k与中间位置的结点的关键字相比较,这个中间结点把线性表分成了两个子表,若比较结果相等则查找完成;若不相等,再根据k与该中间结点关键字的比较大小确定下一步查找哪个子表,这样递归进行下去,直到找到满足条件的结点或者该线性表中没有这样的结点。
折半查找的非递归算法
int BinSearch(int str,int n,int k)
{
int low=0,high=n-1,mid;
while (low<=high) //当前区间存在元素时循环
{
mid=(low+high)/2;
if(str[mid]==k)