在C语言中用二分查找法在有序表中查找关键字
时间: 2024-06-05 19:08:24 浏览: 76
C语言二分查找法
如何实现?
使用二分查找法在有序表中查找关键字的基本思路是:首先将待查找的有序表分成两部分,然后将关键字与中间位置元素进行比较,若相等则查找成功,若不等则继续在相应的子表中进行查找,直到找到关键字或子表为空为止。
具体实现如下:
1. 定义一个指向有序表的指针,并指向表的起始位置和末尾位置。
2. 计算出中间位置,并将中间位置元素与关键字进行比较。若相等,则查找成功;若不等,则接下来分两种情况进行:若中间位置元素大于关键字,说明待查找的元素在左半部分,将右指针移到中间位置的前一个位置;若中间位置元素小于关键字,说明待查找的元素在右半部分,将左指针移到中间位置的后一个位置。
3. 循环进行第2步,直到找到关键字或者左右指针重合为止。若找到了关键字,则返回其在有序表中的位置;若没有找到关键字,则返回查找失败。
二分查找法的时间复杂度为O(logn),是一种非常高效的查找算法。
阅读全文