美文网首页
Objective-C实现冒泡算法

Objective-C实现冒泡算法

作者: 旅行的光 | 来源:发表于2016-03-27 23:02 被阅读236次

一,冒泡算法简介

冒泡算法是一种基础的排序算法,这种算法会重复的比较数组中相邻的两个元素。如果一个元素比另一个元素大(小),那么就交换这两个元素的位置。重复这一比较直至最后一个元素。这一比较会重复n-1趟,每一趟比较n-j次,j是已经排序好的元素个数。每一趟比较都能找出未排序元素中最大或者最小的那个数字。这就如同水泡从水底逐个飘到水面一样。冒泡排序是一种时间复杂度较高,效率较低的排序方法。其空间复杂度是O(n)。

二,冒泡排序的时间复杂度

1,最差时间复杂度 O(n^2)
2, 平均时间复杂度 O(n^2)

三,实现思路

1,每一趟比较都比较数组中两个相邻元素的大小
2,如果i元素小于i-1元素,就调换两个元素的位置
3,重复n-1趟的比较

四,Objective-C代码实现

- (void) bubbleSort :(NSMutalbeArray *) array {  
if (array.count == 0) {
        return;
    }
    
    for (int i = 0; i < array.count; i ++) {
        for (int j = 1; j < array.count - i; j ++) {
            if ([array[j] integerValue] < [array[j-1] integerValue]) {
                int temp =(int) [array[j] integerValue];
                array[j] = array[j-1];
                array[j-1] = [NSNumber numberWithInt:temp];
            }
        }
    }
}

相关文章

  • Objective-C实现冒泡算法

    一,冒泡算法简介 冒泡算法是一种基础的排序算法,这种算法会重复的比较数组中相邻的两个元素。如果一个元素比另一个元素...

  • 算法-冒泡排序

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

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

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

  • 前端算法学习-第一篇

    冒泡排序算法 冒泡排序算法是最慢的排序算法之一,也是最容易实现的排序算法。之所以叫冒泡排序是因为使用这种算法排序时...

  • 算法:冒泡排序

    本文内容:1、什么是冒泡排序?2、冒泡排序的 C/OC 实现与算法分析。 算法总目录:算法? 1、什么是冒泡排序?...

  • 数据结构&算法(一)

    一、Java实现快速排序算法 二、Java实现折半插入排序算法 三、Java实现冒泡排序算法

  • iOS 排序算法(冒泡、选择、快速、插入、希尔、归并、基数、堆排

    具体的8种排序算法的实现,请前往我的GitHub。点我过去 1、冒泡排序: 冒泡算法是一种基础的排序算法,这种算法...

  • 前端常见的排序算法算法

    冒泡排序 我们先来了解一下冒泡排序算法,它是最慢的排序算法之一,但也是一种最容易实现的排序算法。之所以叫冒泡排序是...

  • 带你刷leetCode冒泡排序

    01. 算法 简单说程序中的算法,就是观察规律,用代码实现逻辑。 02. 冒泡排序 冒泡排序(英语:Bubble ...

  • OC 中实现常用的算法

    #在OC中实现常用的算法(冒泡,选择,快速,插入) ## 1.冒泡排序 - (void)viewDidLoad {...

网友评论

      本文标题:Objective-C实现冒泡算法

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