用C语言解释二分查找
二分查找方法只能应用于排序列表。给定的列表分为两个相等的部分。在列表中,键与中间元素进行比较。
二分查找中可能会出现三种情况,如下所示 -
如果中间元素与key匹配,那么搜索将在这里成功结束
如果中间元素大于键,则搜索将在左分区中进行
如果中间元素低于键,则搜索将在正确的分区中进行。
输入 (i/p)
排序的元素列表,键。
输出 (o/p)
成功 - 如果找到密钥。
不成功 - 否则。
示例
以下是二进制搜索方法的 C 程序 -
#include<stdio.h>输出结果int main(){
int a[50], n, i, key, flag = 0, low, mid, high;
printf("enter the no: of elements:");
scanf ("%d",&n);
printf("输入元素:");
for(i=0; i<n; i++)
scanf( "%d", &a[i]);
printf("输入一个关键元素:");
scanf ("%d", &key);
low = 0;
high = n-1;
while (low<= high ){
mid = (low + high) /2;
if (a[mid] == key){
flag = 1;
break;
} else {
if (a[mid] > key)
high = mid-1;
else
low = mid+1;
}
}
if (flag == 1)
printf ("search is successful");
else
printf("search is unsuccessful");
return 0;
}
执行上述程序时,会产生以下结果 -
enter the no: of elements:5输入元素:23
45
57
89
90
输入一个关键元素:45
search is successful
以上是 用C语言解释二分查找 的全部内容, 来源链接: utcz.com/z/322822.html