二分查找
2016-03-25 08:35
176 查看
/*
算法1:给定已排好序的n个元素a[0:n-1],
现要在这n个元素中找到一个特定元素x,
用二分搜索技术实现。
*/
#include<stdio.h>
int binarysearch(int a[],int n,int x)
{
int min,mid,max;
min=0;
max=n-1;
while(min<=max)
{
mid=(min+max)/2;
if(x==a[mid])
return mid;
else if(x>a[mid])
min=mid+1;
else
max=mid-1;
}
return -1;
}
int main()
{
int a[5]={1,2,3,4,5};
printf("%d\n",binarysearch(a,5,3));
return 0;
}
算法1:给定已排好序的n个元素a[0:n-1],
现要在这n个元素中找到一个特定元素x,
用二分搜索技术实现。
*/
#include<stdio.h>
int binarysearch(int a[],int n,int x)
{
int min,mid,max;
min=0;
max=n-1;
while(min<=max)
{
mid=(min+max)/2;
if(x==a[mid])
return mid;
else if(x>a[mid])
min=mid+1;
else
max=mid-1;
}
return -1;
}
int main()
{
int a[5]={1,2,3,4,5};
printf("%d\n",binarysearch(a,5,3));
return 0;
}
相关文章推荐
- (笔记)Linux内核学习(七)之内核同步机制和实现方式
- (笔记)Linux内核学习(六)之并发和同步概念
- Java实现单例模式
- 利用httpclient进行模拟登陆;
- 被召者 RC: REGDB_E_CLASSNOTREG (0x80040154)
- 数据库三范式粗暴简单理解法
- Deep Boltzmann Machines
- TOMCAT连接调优和JVM内存调优
- python中元组(tuple)用法总结
- 出差(三十)
- freeradius 2.2.5版本限制用户并发登录
- Three.js框架,菜鸟上路
- BZOJ 1415: [Noi2005]聪聪和可可
- 多表代替密码破解初探
- 课堂练习----一个整数数组中最大子数组的和(1)
- Java 线程第三版 第一章Thread导论、 第二章Thread的创建与管理读书笔记
- 电脑无法上网,DHCP客户端不能正确获取IP地址
- lintcode-medium-Letter Combinations of a Phone Number
- 【ThinkingInC++】65、使用delete void*可能会出错
- google/dense_hash_map