查找算法 -- 二分查找 O(log n)
核心: 二分查找默认原序列有序
思路:对于要寻找的 X ,我们通过比较 序列中间数MID, 来判断 X 所在的区间,不断缩小直到查找到。
#include <stdio.h>
#include <string.h>//二分查找(默认有序) void Binary_search(int q[],int l,int r,int x)
{while(l<r){int mid = l+r >>1;if(q[mid] < x){l = mid+1;}else{r= mid;}}if(q[l] == x) printf("找到了%d",q[l]);else{printf("不存在这个数%d",x);}} int main()
{int q[5] = {1,2,3,4,5};int size = sizeof(q) / sizeof(q[0]);Binary_search(q,0,size-1,5);return 0;}