极客 - 博文24 - 二分查找法

来源:互联网 发布:unity3d 机器人仿真 编辑:程序博客网 时间:2024/05/17 22:52
*程序名称: 二分查找法
*作者: 田鑫  
*完成日期: 2016 - 10 - 4  
*版本号: v1.0 
*平台: DEVC++ 
*问题描述: 在一个有序的数组中查找一个数据是否在数组中
*解决方法: 利用二分查找法
*注意事项: 所查找的数组必须是已经排好序
#include <stdio.h>#define N 10int main(void){int array[N] = {1,2,3,4,5,6,7,8,9,10};int index = -1;int mid = 0, high = N - 1, lower = 0;int key;printf("请输入需要查找的数据: ");scanf("%d", &key);while(lower <= high){mid = (lower + high) / 2;if(array[mid] == key){index = mid;break;}else if(key < array[mid]){high = mid - 1;}else{lower = mid + 1;}}if(index >= 0){printf("*****查找成功!*****\n");}else{printf("*****查找失败!*****\n");}return 0;}

运行结果


1 0
原创粉丝点击