美文网首页
Objective-C 实现冒泡排序

Objective-C 实现冒泡排序

作者: Freedom_fly | 来源:发表于2019-03-23 22:16 被阅读0次
jpeg

冒泡排序的时间复杂度:O(n²)

实现方法一:

NSMutableArray *array = [NSMutableArray arrayWithArray:parameters];
    for (int i = 0; i < parameters.count-1; i++) {
        for (int j = 0; j < parameters.count-1-i; j++) {
            if (array[j] > array[j+1]) {
                [array exchangeObjectAtIndex:j withObjectAtIndex:j+1];
            }
        }
    }

实现方法二:

NSMutableArray *array = [NSMutableArray arrayWithArray:parameters];

    BOOL isExchange;
    do {
        isExchange = NO;
        for (int i = 0; i < parameters.count - 1; i++) {
            if ([parameters[i] compare:parameters[i+1]] == NSOrderedDescending) {
                [parameters exchangeObjectAtIndex:i withObjectAtIndex:i+1];
                isExchange = YES;
            }
        }
    } while (isExchange);

方法二是优化之后的代码,如果某个数组只需交换一次便可完成排序,显然第二种方法加了标记更可取。

相关文章

  • 基本算法

    冒泡排序、插入排序、选择排序、快速排序、二分查找(Objective-C实现)

  • Objective-C实现快速排序

    在众多的排序方法中,有一种快速排序。如果你读了我的Objective-C实现冒泡排序,那么你一定会觉得冒泡排序的实...

  • 算法-冒泡排序

    算 法:冒泡排序算法时间复杂度: 冒泡排序算法概述 冒泡排序伪代码 冒泡排序实现 冒泡排序算法概述 冒泡排...

  • 看图说话排序算法之冒泡排序

    排序算法的种类非常多,这里总结冒泡排序和对冒泡排序的改进---快速排序的循环实现和递归实现。 一丶冒泡排序 假设待...

  • 七大排序算法之冒泡排序

    七大排序算法之冒泡排序 @(算法笔记)[排序算法, 冒泡排序, C++实现] 冒泡排序介绍 冒泡排序是七大排序算法...

  • python-冒泡排序-选择排序-插入排序-快速排序-二分查找

    1、冒泡排序 - 实现列表[5, 3, 4, 7, 2]排序: 冒泡排序运行结果: 2、选择排序 - 实现列表[1...

  • 冒泡排序(Objective-C实现)

    冒泡排序实现的基本方案:两个循环。 在基本方案上做优化:方案1、在基本方案的基础上,增加子循环无交换时,排序结束的...

  • Objective-C 实现冒泡排序

    冒泡排序的时间复杂度:O(n²) 实现方法一: 实现方法二: 方法二是优化之后的代码,如果某个数组只需交换一次便可...

  • 简单排序

    1、选择排序 实现 2、冒泡排序 实现 3、插入排序 实现

  • Java 实现冒泡排序

    本文介绍冒泡排序原理及 Java 语言实现。 目录 冒泡排序原理 代码实现 冒泡排序原理 比较相邻的元素,升序时如...

网友评论

      本文标题:Objective-C 实现冒泡排序

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