#include<iostream>
#include<windows.h>
using namespace std;
//二分查找 int binary_search(int array[], int size,int key) { int left = 0; int right = size-1; while (left<=right) { int mid = left + ((right - left) >> 1); if (key < array[mid]) { right= mid - 1; } else if (key>array[mid]) { left=mid +1; } else { return array[mid]; } if (left>right) { return -1; } } }
int main() { int array[] = { 1, 3, 5, 7, 9, 11 }; int a = binary_search(array, sizeof(array) / sizeof(int), 9); //运行结果:9 int a = binary_search(array, sizeof(array) / sizeof(int), 22); //运行结果:-1 cout << a <<endl; system("pause"); return 0; }
转载请注明原文地址: https://ju.6miu.com/read-7954.html