如何使用c语言编写二分查找算法

 时间:2026-02-13 18:35:57

1、写一个二分法的函数名,包含参数。

int FindBySrch(int * ListData,int ListLength,int KeyData);

2、写一个循环,在循环中应用折半查找。数组中变换二次区间方法来实现二分查找法:

int FindBySrch(int * ListData,int ListLength,int KeyData)

{

int low = 1;

int hight = ListLength;

while(low <= hight)

{

mid = (low+hight)/2;

if(KeyData > ListData[mid-1])

low = mid;

else if(KeyData < ListData[mid-1])

hight = mid;

else

return mid;

}

return 0;

}

如何使用c语言编写二分查找算法

3、对编好的程序进行测试,得出测试结果:

#include <stdio.h>

int main()

{

int TestData[5] = {34,35,36,89,96};

int retData = FindBySrch(TestData,5,89);

printf("retData:%d\n",retData);

return 0;

}

如何使用c语言编写二分查找算法

1、二分法的优点是比较次数少,查找速度快,平均性能好。

缺点是要求查表为顺序表,插入、删除困难,

我们这里来算一下,它的平均查找长度是多少:

估计长度为n:它的平均查找长度为:log2(n+1)-1 :

  • lnx的定积分怎么求
  • 什么是邻域?
  • 用三角代换求某些根式的积分及辅助三角形法
  • 两平面的交线怎么求
  • 根号下怎么求导
  • 热门搜索
    小学四年级手抄报大全 珍惜时间手抄报 道德手抄报 安全方面的手抄报 我的一本课外书手抄报 预防麻疹手抄报 儿童安全手抄报大全 垃圾分类的手抄报 关于俄罗斯的手抄报 我爱爸爸妈妈手抄报