美文网首页
OC实现冒泡排序、二分法查找

OC实现冒泡排序、二分法查找

作者: 一个非常爱美的程序员 | 来源:发表于2018-03-01 11:39 被阅读0次

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);

}

相关文章

  • 常见算法的 Python 实现

    二分法查找 非递归版本: 递归方法实现: 冒泡排序 选择排序

  • 算法和排序

    1、线性查找 2、二分法查找 3、冒泡排序

  • 冒泡,选择,插入排序以及二分查找

    冒泡排序 选择排序 优化选择排序 插入排序 排序案例 二分法查找 二分法查找的前提是数组必须是有序的; 二分查找案...

  • 排序算法

    冒泡排序 堆排序 插入排序 二分法查找插入排序 希尔排序 快速排序 归并排序

  • Python基础-day07

    list 排序 二分法查找 可迭代对象 迭代器 元组 排序 ​ 冒泡排序 选择排序 插入排序 希尔排序 堆排序...

  • 排序算法

    准备工作 一、快速排序 二、归并排序 三、堆排序 四、 二分查找 /*二分查找*/ 五、 冒泡排序 /*OC 冒...

  • 冒泡排序、选择排序和二分法查找

    冒泡排序 选择排序 二分法查找 概念 1.使用二分法好处: 可以加快寻找的效率。2.使用二分法特点: 二分法...

  • OC实现冒泡排序、二分法查找

    1、二分法查找 当数据量很大适宜采用该方法。采用二分法查找时,数据需是有序的,否则要先排序。 - (void)bi...

  • OC各种算法,排序,查找实现

    二维数组查找数字的OC实现 OC 二分查找的实现 快速排序

  • 简单算法

    冒泡排序: while 实现的二分查找: 递归实现二分查找:

网友评论

      本文标题:OC实现冒泡排序、二分法查找

      本文链接:https://www.haomeiwen.com/subject/rqxrrttx.html