Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
c++实现二分查找算法_c语言做一个学生信息查询,希望能够帮助你!!!。
#include<iostream> using namespace std; int binarySearch(int *arr , int low , int high , int target)//递归实现 { int middle = (low + high)/2; if(low > high) return -1; if(arr[middle] == target) return middle; if(arr[middle] > target) return binarySearch( arr , low , middle - 1 , target); if(arr[middle] < target) return binarySearch( arr , middle + 1 , high , target); }; int binarySearch1(int a[], int n , int target)//循环实现 { int low = 0 ,high = n , middle; while(low < high) { middle = (low + high)/2; if(target == a[middle]) return middle; else if(target > a[middle]) low = middle +1; else if(target < a[middle]) high = middle; } return -1; }; int main() { int a[10] = {5,6,7,8,9, 10 , 11, 12 ,13, 14}; int index = binarySearch( a , 0 , 9 , 12); cout<<index<< endl; int index2 = binarySearch1(a,10,12); cout<<index2<< endl; system("pause"); }
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章