1 .问题
写出两种检索算法:在一个排好序的数组T[1…n]中查找x,如果x在T中,输出x在T的下标j;如果x不在T中,输出j=0。
2.解析
方法一:二分查找法
将x和数组中间值T[m]比较,若相等则查找成功,如果不相等则看x大于还是小于T[m],缩小范围,直到查找到下标j,或查找结束,得出x不在数组中,返回j=0。
方法二:顺序查找
从数组的第一个数开始按顺序查找,将每一个数与x相比,如果相等输出下标j,如果到结尾了还没找到,则输出j=0;
3.算法
//算法1:二分查找
#include <stdio.h>
#include <math.h>
int Binary_Search(int T[],int n,int x)
{
int high=n;
int low=1;
int m;
while(low<=high)
{
m=