您的位置:首页 >精选综合 >

二分查找算法举例说明(二分查找算法)

大家好,我是小新,我来为大家解答以上问题。二分查找算法举例说明,二分查找算法很多人还不知道,现在让我们一起来看看吧!

1、前提要求数据排好序,有递归和非递归版本

2、int binSearch(const int *Array,int start,int end,int key)

3、{

4、int left,right;

5、int mid;

6、left=start;

7、right=end;

8、while (left<=right) { /注释中为递归算法,执行效率低,不推荐

9、mid=(left+right)/2;

10、/* if (key<Array[mid]) {

11、return(binSearch(Array,left,mid,key));

12、}

13、else if(key>Array[mid]){

14、return (binSearch(Array,mid+1,right,key));

15、}

16、else

17、return mid;

18、*/

19、if (key<Array[mid]) {

20、right=mid-1;

21、}

22、else if(key>Array[mid]){

23、left=mid+1;

24、}

25、else

26、return mid;

27、}

28、return -1;

29、}

本文到此讲解完毕了,希望对大家有帮助。

免责声明:本文由用户上传,如有侵权请联系删除!