C语言:编写一个折半查找函数
程序员文章站
2022-04-14 09:00:54
/*先把中间元素找到,寻找的元素在中间元素左边,
则小于中间元素,改变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; }
推荐阅读
-
pow函数(数学次方)在c语言的用法,两种编写方法实例( 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值)
-
c语言:编写冒泡排序,排序一个整形数组(从小到大)
-
[c语言] 编写一个函数reverse_string(char * string)(递归实现)
-
用C语言写一个函数返回参数二进制中1的个数
-
C语言:实现一个函数,打印乘法口诀表,如:输入9,输出9*9口诀表
-
linux下c语言入门04 main函数的编写
-
C语言 实现一个函数,判断一个数是不是素数
-
C语言:编写strcpy函数
-
C语言:字符串替换空格:请实现一个函数,把字符串中的每个空格替换成“%20”。
-
用c语言实现折半查找函数