1、二分法查找
当数据量很大适宜采用该方法。采用二分法查找时,数据需是有序的,否则要先排序。
- (void)binarySearchWithArray:(NSArray *)array searchNum:(NSInteger)searchNum
{
NSArray *arr = [NSArray arrayWithArray:array];
NSInteger mid;
NSInteger min = 0;
NSInteger max = [arr count] - 1;
BOOL found = NO;
while (min<=max) {
mid = (min + max)/2;
if (searchNum == [arr[mid] intValue]) {
NSLog(@"我们发现数量!它是======》%@",arr[mid]);
found = YES;
break;
}
else if(searchNum < [arr[mid] intValue]) {
max = mid - 1;
}
else if (searchNum > [arr[mid] integerValue]) {
min = mid + 1;
}
}
if (!found) {
NSLog(@"这个数字没有找到.");
}
}
2、冒泡排序
冒泡排序会重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
- (void)bubbleSortWithArray:(NSArray *)array{ NSMutableArray *arr = [NSMutableArray arrayWithArray:array]; for (int i = 0; i<[arr count]; ++i) { for (int j = 0; j<[array count] - i - 1; ++j) { NSInteger left = [arr[j] integerValue]; NSInteger right = [arr[j+1] integerValue]; if (left %@",arr);
}