/*先把中间元素找到,寻找的元素在中间元素左边, 则小于中间元素,改变right。 再继续折半找中间元素寻找*/ #include<stdio.h> #include<string.h> int zheban(int x,char arr[],int left,int right) { while(left<=right) { int mid=left-(left-right)/2; if(x > arr[mid]) { left=mid+1; } else if(x < arr[mid]) { right=mid-1; } else { return 1; } } return 0; } int main() { int mid=0; char arr[]={1,3,4,6,7,8,56,67,78}; int ret=0; int size=0; int num=0; size=strlen(arr); ret=zheban(5,arr,0,size-1); if(ret==0) { printf("not exsit"); } else { printf("%d",arr[mid]); } return 0; }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/607706.html