二分查找算法实现
2016-05-29 17:05
274 查看
#include<iostream> using namespace std; /* 本段程序,实现的是非递归的实现二分查找算法; 易错点是low和high的重新定位,以及*array是引用关系; */ int BinarySearch(int *array, int ArraySize, int key){ if (array == NULL || ArraySize == 0) return -1; int low, high, mid=0; low = 0; high = ArraySize - 1; while (low <= high){ mid = (low + high) / 2; if (array[mid] < key) low = mid + 1; else if (array[mid] > key) high = mid - 1; else return mid; } return -1; } int main(){ int n,key, array[100],key_pos; cout << "输入个数n=" << endl; cin >> n; cout << "输入关键字:" << endl; cin >> key; cout << "输入要搜索的n个数:" << endl; for (int i = 0; i < n; i++) cin >> array[i]; //key_pos = BinarySearch(array, n, key); cout << "The pos is " << BinarySearch(array, n, key) << endl; return 0; }
相关文章推荐
- C++二分查找在搜索引擎多文档求交的应用分析
- C语言编程中实现二分查找的简单入门实例
- C#二分查找算法实例分析
- 二分查找算法在C/C++程序中的应用示例
- 在MySQL中实现二分查找的详细教程
- Java实现二分查找算法实例分析
- Python基于二分查找实现求整数平方根的方法
- python二分查找算法的递归实现方法
- Python二分查找详解
- 简介二分查找算法与相关的Python实现示例
- python二分查找算法的递归实现方法
- Python基于二分查找实现求整数平方根的方法
- 漫谈递归:二分查找算法的递归实现
- 二分查找
- [LeetCode] Find Minimum in Rotated Sorted Array
- 折半查找法
- "二分查找(Binary Search)"与"斐波那契查找(Fibonacci Search)"
- 二分查找
- C#版二分查找(代碼)
- 4495: Least Prime factor 找到最小质因子P的第N小正整数