博客
关于我
Objective-C实现binary search二分查找算法(附完整源码)
阅读量:799 次
发布时间:2023-02-17

本文共 1805 字,大约阅读时间需要 6 分钟。

Objective-C????????

??????????????????????????????????Objective-C???????????????????

????????

  • ????????????????????????????????????????

  • ??????????????????????????(d + 1)/2????????????????

  • ???????

    • ???????????????????
    • ??????????????????????-1??????????
    • ??????????????????????+1??????????
  • ?????????????????????????????????????-1?

  • ????

    #import 
    @interface BinarySearch : NSObject- (NSInteger)binarySearch:(NSArray *)array withTarget:(id)target;@end@implementation BinarySearch- (NSInteger)binarySearch:(NSArray *)array withTarget:(id)target { if (array == nil || [array count] == 0) { return -1; } NSInteger left = 0; NSInteger right = [array count] - 1; NSInteger middle; while (left <= right) { middle = (left + right) / 2; if ([array middleEquals:target]) { return middle; } else if ([array[middle] < target]) { left = middle + 1; } else { right = middle - 1; } } return -1;}@end

    ?????

    int main(int argc, const char *argv) {    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];        // ????????    NSArray *numbers = @[        @1, @2, @3, @4, @5, @6, @7,        @8, @9, @10    ];        // ??????    NSInteger result = [[BinarySearch alloc] binarySearch:numbers withTarget:@5];        // ????    printf("?????\n");    if (result != -1) {        printf("??? %ld ??????? %ld\n", 5, result);    } else {        printf("??? %ld ?????\n", 5);    }        return 0;}

    ????

    • ????????????NSObject??BinarySearch????????????
    • ???????binarySearch:withTarget:??????????????????????????-1??????
    • ????????????????????????-1?
    • ????????????????????????
    • ???????????????????????????????
    • ????????????????????????????-1?
    • ????????????????????????????????

    ??????????????????????????????Objective-C?????

    转载地址:http://odnfk.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现CircularQueue循环队列算法(附完整源码)
    查看>>
    Objective-C实现clearBit清除位算法(附完整源码)
    查看>>
    Objective-C实现climbStairs爬楼梯问题算法(附完整源码)
    查看>>
    Objective-C实现cocktail shaker sort鸡尾酒排序算法(附完整源码)
    查看>>
    Objective-C实现cocktailShakerSort鸡尾酒排序算法(附完整源码)
    查看>>
    Objective-C实现CoinChange硬币兑换问题算法(附完整源码)
    查看>>
    Objective-C实现collatz sequence考拉兹序列算法(附完整源码)
    查看>>
    Objective-C实现Collatz 序列算法(附完整源码)
    查看>>
    Objective-C实现comb sort梳状排序算法(附完整源码)
    查看>>
    Objective-C实现combinations排列组合算法(附完整源码)
    查看>>
    Objective-C实现combine With Repetitions结合重复算法(附完整源码)
    查看>>
    Objective-C实现combine Without Repetitions不重复地结合算法(附完整源码)
    查看>>
    Objective-C实现conjugate gradient共轭梯度算法(附完整源码)
    查看>>
    Objective-C实现connected components连通分量算法(附完整源码)
    查看>>
    Objective-C实现Connected Components连通分量算法(附完整源码)
    查看>>
    Objective-C实现Convex hull凸包问题算法(附完整源码)
    查看>>
    Objective-C实现convolution neural network卷积神经网络算法(附完整源码)
    查看>>
    Objective-C实现convolve卷积算法(附完整源码)
    查看>>
    Objective-C实现coulombs law库仑定律算法(附完整源码)
    查看>>
    Objective-C实现counting sort计数排序算法(附完整源码)
    查看>>