当前位置: 代码迷 >> 综合 >> 算法学习之二分查找
  详细解决方案

算法学习之二分查找

热度:6   发布时间:2023-11-01 22:22:44.0

比较与简单查找,二分查找算法的速度更快。例有一个数组,每次将数组最中间的数与要查找的数进行比较,如果小了,就将中间数作为数组下限,在比较;如果大了,就将中间数作为数组上限。

#include "pch.h"
#include <iostream>
using namespace std;int binary_search(int list[], int length, int item);int main()
{int list[] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14 };int length = sizeof(list) / sizeof(list[0]);int getNum = binary_search(list, length, 12);cout << getNum << endl;std::cout << "Hello World!\n"; 
}int binary_search(int list[], int length, int item) {int low = 0;int high = length - 1;int mid;int guess;while (low < high) {mid = (low + high) / 2.0;guess = list[mid];if (guess == item) {//return guess;return list[mid];break;}if (guess > item)high = mid;elselow = mid;}//return list[mid];
}

 

  相关解决方案