//联系人:石虎 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;
谢谢!!!