1. 算法思想
在有序数组中,将要查找的元素与数组中的中间项比较,若要找的数据小于中间项,则搜索数组的前半部分;若要找的数据大于中间项,则搜索数组的后半部分即可。每次比较都将使搜索范围减少一半。
2. 伪代码
Set first to 0 //令first的初值为0
Set last to lenght-1 //令last的初值为lenght(数组的长度)-1
Set found to False //令found的初值为False
WHILE(first Set middle to (first+last)/2 //令middle(中间项)的初值为 (first+last)/2 IF(item equals data[middle])//如果item(要查找的元素)=中间项 Set found to True //令found的值为True Else //如果item(要查找的元素)!=中间项 IF(item
Set last to middle-1//令last=middle-1 ELSE //如果item大于中间项 Set first to middle+1//令first=middle+1 Return found //返回found 3. 流程图 4. 桌面测试 给出8个元素组成的有序数组A,例如:8 13 17 26 44 55 88 97,如图8所示: 查找数据88,查找过程如下: 5. 程序设计 6. 程序运行测试 (1) (2) 欢迎分享,转载请注明来源:内存溢出#include
评论列表(0条)