二分搜索算法实现

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

#includestdio.h//主函数intNotRecursionbinarySearch(intarray[],intlength,intsearchDate){intleft=0;intright=length-1;//设置最左边和最右边的标杆if(array==NULL||length=0){return-1;}elsewhile(left=right){intmiddle=(right+left)/2;if(array[middle]==searchDate){returnmiddle;}else{if(array[middle]searchDate){left=middle+1;}else{right=middle-1;}}}}intRecursionbinarySearch(intarray[],intsearchDate,intstart,intend){intmid;if(array==NULL||startend){return-1;}if(start=end){mid=(start+end)/2;if(array[mid]==searchDate){returnmid;}else{if(array[mid]searchDate){returnRecursionbinarySearch(array,searchDate,start=mid+1,end);}else{returnRecursionbinarySearch(array,searchDate,start,end=mid-1);}}}}voidmain(){intarray[]={1,5,6,7,8,9,44,66,99,101};intlength=sizeof(array)/sizeof(array[0]);intindex=NotRecursionbinarySearch(array,length,9);intindex1=RecursionbinarySearch(array,9,0,9);printf(用非递归算法实现);printf(用非递归算法实现该数字在数组中的序号是%d,index);printf(\n);printf(用递归算法实现);printf(用递归算法实现该数字在数组中的序号是%d,index1);printf(\n);}

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功