可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找)

来源:互联网 发布:网站数据监控 编辑:程序博客网 时间:2024/05/22 03:16

折半查找的简单应用。

#include<stdio.h>#include<stdlib.h>int main(){    int arr[] = {1,2,3,4,5,6,7,8,9};    int key = 0;    int left = 0;    int right = sizeof(arr)/sizeof(arr[0])-1;    printf("输入要找的数:");    scanf("%d",&key);    while(left<=right)    {    int mid = left + (right-left)/2;    if(arr[mid]>key)    {        right = mid-1;    }    else if(arr[mid]<key)    {        left = mid+1;    }    else    {        printf("找到了下标为%d\n",mid);        return mid;    }    }    if(left>right)    {    printf("找不到\n");    return -1;    }    system("pause");    return 0;}
阅读全文
0 0
原创粉丝点击