首页 > 编程语言 > 详细

查找 - 二分查找(C语言)

时间:2021-05-13 00:44:15      阅读:17      评论:0      收藏:0      [点我收藏+]

二分查找方法适用于不经常变动,但是又查找频繁的有序列表。

时间复杂度:O(nlogn)

// int list[10] = {2,5,1,4,14,3,6,12,32,146 };
// binsearch(list, 146, 10); //在长度是10的数组中查找146的位置。
int binsearch(int list[], int searchnum, int listSize) {
    int left = 0, right = listSize - 1, middle;
    while (left <= right) {
        middle = (left + right) / 2;
        if (list[middle] == searchnum) {
            return middle;
        }
        else if (list[middle] < searchnum) {
            left = middle + 1;
        }
        else if (list[middle] > searchnum) {
            right = middle - 1;
        }
    }
    return -1;
}

查找 - 二分查找(C语言)

原文:https://www.cnblogs.com/vicky2021/p/14762251.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!