二分查找算法(OC版--非递归实现)
来源:互联网 发布:生鲜配送app源码 编辑:程序博客网 时间:2024/04/29 01:28
闲来无事,写写二分查找算法,如有bug,请指出
//// ViewController.m// BinarySearch//// Created by bcc_cae on 16/3/25.// Copyright © 2016年 bcc_cae. All rights reserved.//#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSArray *arr = @[@1,@3,@5,@7,@9,@10,@12]; int result = [self BinarySearch:arr target:@13]; NSLog(@"%d",result); }- (int)BinarySearch:(NSArray *)arr target:(int)target{ if (!arr.count) { return -1; } unsigned int low = 0; unsigned int high = arr.count - 1; while (low<=high) { unsigned int mid = low + ((high-low)>>1); //防止加法溢出 int num = [arr objectAtIndex:mid]; if (target == num) { return low; }else if(num > target) { high = mid -1; }else{ low = mid +1; } } return -1;}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}@end
1 0
- 二分查找算法(OC版--非递归实现)
- 二分查找算法-递归-非递归实现
- java实现非递归版二分查找算法
- 二分查找算法递归和非递归实现(C++)
- 分别使用递归和非递归实现二分查找算法
- 【算法拾遗】二分查找递归非递归实现
- 二分查找算法的递归与非递归实现
- 二分查找算法递归和非递归实现
- 二分查找算法(递归与非递归实现)
- 【数据结构与算法】二分查找递归非递归实现
- 二分查找算法的递归与非递归实现
- 分别用递归和非递归实现二分查找算法
- 实现二分查找算法的递归及非递归。
- 实现二分查找算法的递归及非递归
- 二分查找算法java版实现(递归实现与非递归实现)
- 算法(第四版)学习笔记之二分查找的递归与非递归java实现
- 二分查找算法 递归和非递归
- 二分查找递归与非递归算法
- Android Browser Share Feature
- 第四周项目18-游戏角色设计(2)
- (补)环境变量的配置以及eclipse的快捷键
- 3631:[JLOI2014]松鼠的新家
- 堆的概念及基本操作实现
- 二分查找算法(OC版--非递归实现)
- Bitmap与BiatmapFactory深入解析
- 理解Java虚拟机体系结构
- 鲜为人知的Multipeer Connectivity(部分转载)
- Android酷炫实用的开源框架
- Java 学习系列:LinkedList 的实现原理
- javascript创建子类
- PHP中与Perl兼容的正则表达式处理函数
- nodejs