二分查找分C++实现
发布时间:2020-12-13 20:07:28 所属栏目:PHP教程 来源:网络整理
导读:#includeiostream using namespace std; /* 2分查找法 优点:查找速度快,平均性能好。 缺点:待查表为有序表 */ int main() { int binSearch(const int*,int,int); int arr[10] = {0,1,2,3,4,5,6,7,8,9}; cout binSearch(arr,9,5) endl; return 0; } int bin
#include<iostream> using namespace std; /* 2分查找法 优点:查找速度快,平均性能好。 缺点:待查表为有序表 */ int main() { int binSearch(const int*,int,int); int arr[10] = {0,1,2,3,4,5,6,7,8,9}; cout << binSearch(arr,9,5) << endl; return 0; } int binSearch(const int* Array,int start,int end,int key) { int left,right; int mid; left = start; right = end; //注释中为递归算法,履行效力低,不推荐 /* if(key < Array[mid]) { return(binSearch(Array,left,mid⑴,key)); } else if(key > Array[mid]) { return(binSearch(Array,mid+1,right,key)); } else return mid; */ while(left<=right) { mid = (left+right)/2; if(key==Array[mid]) { return mid; } else if(key<Array[mid]) { right=mid⑴; } else if(key>Array[mid]) { left=mid+1; } } return ⑴; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |