iOS 算法 简单的二分法

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄


二分查找法

NSArray *numberArray = @[@1, @3, @27, @36, @42, @70, @82];

NSInteger searchNum = 70;


NSInteger mid;

NSInteger min = 0;

NSInteger max = [numberArray count] - 1;

BOOL found = NO;


while (min <= max) {

    

    mid = (min + max)/2;    

    if (searchNum == [numberArray[mid] intValue]) {

        NSLog(@"我们发现数量!它是===> %@", numberArray[mid]);

        found = YES;

        break;

    } else if (searchNum < [numberArray[mid] integerValue]) {

        max = mid - 1;

    } else if (searchNum > [numberArray[mid] integerValue]) {

        min = mid + 1;

    }

}

if (!found) {

    NSLog(@"这个数字没有找到.");

}

//链表反转(其实就是将数组里面的值翻转过来)

//百度过链表反转是这意思就用oc数组实现了下,不正确的地方可以指出一下


NSArray *array = @[@1,@2,@3,@4,@5];

NSMutableArray *mArr = [NSMutableArray array];


for (NSInteger i = array.count - 1; i >= 0  ; i --) {

    [mArr addObject:array[i]];

}


NSLog(@"array ===> %@",array);

NSLog(@"mArr  ===> %@",mArr);

//结果:

array = 1,2,3,4,5;

mArr = 5,4,3,2,1;


谢谢!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值