二分查找
来源:互联网 发布:靠谱的淘宝代购 编辑:程序博客网 时间:2024/06/14 04:16
一、函数的调用
- (void)clicked { NSArray *arrayNumbers = @[@-4,@-2,@4,@6,@9,@14,@23,@100]; NSInteger res = [self searchValue:arrayNumbers num:15]; NSInteger ress = [self searchValueIndex:arrayNumbers num:100 low:0 hight:[arrayNumbers count]]; NSLog(@"Chenfy--:%d",ress);}
二、函数的实现
//迭代- (NSInteger)searchValue:(NSArray *)arrayValue num:(NSInteger)num { int low = 0,hight = [arrayValue count] - 1,mid; while (!(low > hight)) { mid = ((low + hight)/2); NSInteger value = [arrayValue[mid] integerValue]; if (value == num) { return mid; } if (value > num) { hight = mid - 1; } else { low = mid + 1; } } return -1;}//递归- (NSInteger)searchValueIndex:(NSArray *)arrayValue num:(NSInteger)num low:(NSInteger)low hight:(NSInteger)hight { if (low > hight) { return -1; } NSInteger mid = (low + hight)/2; NSInteger value = [arrayValue[mid] integerValue]; if (value == num) { return mid; } if (value > num) { return [self searchValueIndex:arrayValue num:num low:low hight:mid - 1]; } else { return [self searchValueIndex:arrayValue num:num low:mid + 1 hight:hight]; } return -1;}
0 0
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- Android Design Support Library - TextInputLayout使用
- mapstruct在eclipse生成不了mapper的实现类的问题
- MYSQL 5.7.17 安装到使用,用python调用mysql
- python-pandas工具包入门教程(1)
- Linux中SQLplus上下键不能显示历史命令的问题
- 二分查找
- 通用块层,scsi_cmd的产生及发送,mmc block实现.
- 关于realsense R200在室外outdoor得不得depth的问题解决
- BFS入门-Red and Black
- 框架中的自动验证
- spring mybatis事务回滚配置
- Centos Nginx搭建https
- OpenLayers3中wfs的属性查询
- You need tcl 8.5 or newer in order to run the Redis test