C语言:编写一个折半查找函数
程序员文章站
2022-08-21 19:50:08
/*先把中间元素找到,寻找的元素在中间元素左边,
则小于中间元素,改变right。
再继续折半找中间元素寻找*/
#include
#include<...
/*先把中间元素找到,寻找的元素在中间元素左边, 则小于中间元素,改变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; }
上一篇: 泡打粉和酵母的区别究竟有哪些?
下一篇: 济州岛几月份是赏樱花的最佳时间?