从数组中找到你

2018-04-09  本文已影响5人  失忆的程序员

- () a {

NSArray *array = @[@5,@8,@14,@20,@31,@55,@78,@81,@93,@97,@111];

    int jieguo = search(array,97);

    if(jieguo == -1){

        NSLog(@"没找到要查找的数字");

    }

}

//----------------------

int search(NSArray *array,int item){

    int x = 1;

    int low = 0;

    int high = (int)[array count] - 1;

    while (low <= high) {

        NSLog(@"第%d次比较",x);

        x++;

        int mid = (high+low)/2;

        if(item == [array[mid] intValue]){

            NSLog(@"%d找到了,在第%d个位置",item,mid);

            return mid;

        }else if(item < [array[mid] intValue]){

            NSLog(@"%d比%d大,继续查找",[array[mid] intValue],item);

            high = mid-1;

        }else{

            NSLog(@"%d比%d小,继续查找",[array[mid] intValue],item);

            low = mid+1;

        }

    }

    return -1;

}

上一篇下一篇

猜你喜欢

热点阅读