二分法查找
2015-06-02 20:11
197 查看
//二分法查找
#include <stdio.h>
int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10}; //有序数组
int low,high,mid,n=10,x;
printf("Enter x:"); //提示输入x
scanf("%d",&x);
low=0;high=n-1; //开始查找区间为整个数组
while (low<=high) //循环条件
{
mid=(low+high)/2; //中间位置
if(x==a[mid])
break; //查找成功,终止循环
else
if(x<a[mid])
high=mid-1; //前半段,high前移
else
low=mid+1; //后半段,low后移
}
if(low<=high)
printf("Index id %d \n",mid);
else
printf("Not Found\n");
return 0;
}
#include <stdio.h>
int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10}; //有序数组
int low,high,mid,n=10,x;
printf("Enter x:"); //提示输入x
scanf("%d",&x);
low=0;high=n-1; //开始查找区间为整个数组
while (low<=high) //循环条件
{
mid=(low+high)/2; //中间位置
if(x==a[mid])
break; //查找成功,终止循环
else
if(x<a[mid])
high=mid-1; //前半段,high前移
else
low=mid+1; //后半段,low后移
}
if(low<=high)
printf("Index id %d \n",mid);
else
printf("Not Found\n");
return 0;
}
相关文章推荐
- NEUQ 1397: 重建长城卷土重来
- node模块函数图解
- 【Hibernate学习笔记-6.1】无连接表的N-1关联(单向)
- leetcode_Number of 1 Bits_easy
- 面试题:使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
- 分布式MySQL数据库TDSQL架构分析
- 凯云水利水电工程造价管理系统 技术解析(八) 机械单价(三)
- 003_01JavaScript之基础简介
- iOS-学习笔记-UI-第一天
- Centos6安装Qt5版本
- edx安装
- 欢迎使用CSDN-markdown编辑器
- response
- 会员卡管理系统技术解析(十)添加会员挂失恢复记录
- 8.16编写一个函数模板,使用冒泡法将数组内容从小排列到大
- Software-artifact Infrastructure Repository 学习笔记 2:C Object Handbooky
- [转]java多线程例子
- CS小分队第二阶段冲刺站立会议(6月2日)
- JAVA的大数处理与计算
- 破解电信光猫(个人真实经验)