C++之二分查找
2017-03-09 01:56
211 查看
#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;
}
#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;
}
相关文章推荐
- 二分查找的C++实现
- C/C++ 库函数 二分查找 bsearch
- 二分查找树的C++实现 Binary Search Tree(BST)
- 二分查找算法-C++
- C++ 二分查找 求最近的值
- 二分查找算法的C/C++实现
- C++算法之 二分查找
- c++实现二分查找
- C++数据结构与STL--二分查找
- C++ 二分查找
- c++ 实现快速排序与二分查找 源代码
- 选择排序、冒泡排序和二分查找C/C++
- 二分查找的 C++ 实现
- C++模板:二分查找
- C/C++ 笔试面试(2)——二分查找
- C++中的二分查找
- linux下练习 c++ 二分查找
- Binary Search 二分查找,二分搜索 C++
- 基于C++模板的二分查找
- C/C++ 笔试面试(2)——二分查找