折半法查找
来源:互联网 发布:淘宝聊天壁纸怎么设置 编辑:程序博客网 时间:2024/06/07 01:18
#include <stdio.h>
/*
return 要查找的数的位置,如果查找不到返回-1
*/
int zheban(int a[],int len,int key){
//定义变量
int low=0;
int mid;
int high=len-1;
//循环
while (low<=high){
//计算mid位置
mid=(low+high)/2;
//判断key a[mid]
if(key>a[mid]){
//key>a[mid] low =mid+1
low =mid+1;
}elseif (key<a[mid]){
//key<a[mid] high=mid-1
high=mid-1;
}else{
//key==a[mid] return mid;
return mid;
}
}
return -1;
}
//插入数据
int insert(int a[],int len,int key){
//定义变量
int low=0;
int mid;
int high=len-1;
//循环
while (low<=high){
//计算mid位置
mid=(low+high)/2;
//判断key a[mid]
if(key>a[mid]){
//key>a[mid] low =mid+1
low =mid+1;
}elseif (key<a[mid]){
//key<a[mid] high=mid-1
high=mid-1;
}else{
//key==a[mid] return mid;
return mid+1;
}
}
return low;
}
int main(int argc,const char * argv[]) {
int a[]={2,5,6,8,9,23,45,47,78,88};
//查找6的位置
int loc=zheban(a, 10, 45);
printf("loc=%d\n",loc);
//要插入元素的位置
int ins=insert(a, 10, 45);
printf("ins=%d",ins);
return 0;
}
- 折半查找法(递归)
- 折半查找法
- 汇编折半查找法
- 折半查找法
- 折半查找法
- 折半法查找
- 折半查找法
- 折半查找法
- 折半查找法C++
- 折半查找法
- JAVA折半查找法
- 折半查找法
- NSArray 折半查找法
- 折半查找法
- 折半查找法
- 折半查找法
- 折半查找法
- 算法:折半查找法
- 如何高效输出移动app产品原型?
- 项目中如果管理前端文件CSS和JS
- Android项目运行报错adb...
- JDK/bin目录下的不同exe文件的用途(appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii...
- (android高仿系列)今日头条 --新闻阅读器 (一)
- 折半法查找
- windows8.1+centos7双系统 进入Windows提示/EndEntire file path: /ACPI(a0341d,0)
- 【C语言】调整数组使奇数全部都位于偶数前面(修改)
- Neither BindingResult nor plain target object for bean
- Java-子类和父类的几种关系
- ZOJ 3690 Choosing number
- opencart2 修改日历控件为中文
- 集群、分布式、负载均衡区别与联系
- ios 获取手机信息(UIDevice、NSBundle、NSLocale)