Swift代码实现冒泡排序算法的简单实例

 更新时间:2016年06月20日 09:30:56   作者:Coder2015  
冒牌排序可谓最基本的排序算法之一,稳定而没有优化空间:D 下面就一起来看一下Swift代码实现冒泡排序算法的简单实例:

冒泡排序原理
1.对需要排序的数据,俩俩进行比较,小的放前面,大的放后面
2.依次对每一对相邻的数据作步骤1的工作,当排序到最后一个元素的时候,我们能保证这个数据是最大。
3.针对所有的元素重复以上的步骤,除了最后一个(这里为什么需要针对除了最后一个元素的全部元素做一次呢,因为最后一个元素已经是最大的不需要排序了,同时,由于元素的交换,交换上来的元素的大小不一定比前面的元素的大,所以需要再做一次)。
4持续对越来越少的元素重复3的步骤,直到没有任何一对元素需要比较。
时间复杂度
我们一般谈最坏时间复制度
n(n-1)/2 = O(n²)

算法稳定性
相同元素的前后顺序并没有改变,所以是一种稳定排序算法

import Cocoa

var array = [123,234,12,346,4,75,67,234,23,1233,3,5,986,98,567,345,234,234]

println("排序前的值:")

for item in array
{
  var ii = item
  println(ii)
}

for var i = 0; i < array.count - 1; ++i {
  for var j = 0; j < array.count - 1 - i; ++j{
    if array[j] > array[j + 1] {
      var temp = array[j + 1]
      array[j + 1] = array[j]
      array[j] = temp
    }
  }
}

println("排序后的值:")

for item in array
{
  var ii = item
  println(ii)
}

运行结果:

201662092720810.png (636×286)

201662092751350.png (635×285)

201662092808783.png (638×537)

这里的for循环使用的是C里面传统的for循环方式,请各位指教、以及拍砖!

相关文章

  • 特定用例下的Combine全面使用详解

    特定用例下的Combine全面使用详解

    这篇文章主要为大家介绍了特定用例下的Combine全面使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Swift图像处理之优化照片

    Swift图像处理之优化照片

    Core Image能通过分析图片的各个属性,人脸的区域等进行自动优化图片。我们只需要调用autoAdjustmentFiltersWithOptions这个API方法获取各个自动增强滤镜来优化图片即可。不管是人物照片还是风景照均可增强效果
    2015-11-11
  • 详解Swift 中的幻象类型

    详解Swift 中的幻象类型

    让我们来看看一种技术,它可以让我们利用 Swift 的类型系统在编译时执行更多种类的数据验证消除更多潜在的歧义来源,并帮助我们在整个代码库中保持类型安全,通过使用幻象类型(phantom types),对Swift 幻象类型相关知识感兴趣的朋友一起看看吧
    2022-05-05
  • 关于Swift 4.1中的Codable改进详解

    关于Swift 4.1中的Codable改进详解

    这篇文章主要给大家介绍了关于Swift 4.1中的Codable改进的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-02-02
  • 利用Swift实现一个响应式编程库

    利用Swift实现一个响应式编程库

    最近在学习swift,最近有空所以总结一下最近学习的内容,下面这篇文章主要给大家介绍了关于利用Swift实现一个响应式编程库的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-12-12
  • Swift仿微信语音通话最小化时后的效果实例代码

    Swift仿微信语音通话最小化时后的效果实例代码

    这篇文章主要介绍了Swift仿微信语音通话最小化时后的效果的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 简陋的swift carthage copy-frameworks 辅助脚本代码

    简陋的swift carthage copy-frameworks 辅助脚本代码

    下面小编就为大家分享一篇简陋的swift carthage copy-frameworks 辅助脚本代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • Swift代码实现冒泡排序算法的简单实例

    Swift代码实现冒泡排序算法的简单实例

    冒牌排序可谓最基本的排序算法之一,稳定而没有优化空间:D 下面就一起来看一下Swift代码实现冒泡排序算法的简单实例:
    2016-06-06
  • Swift reduce函数使用示例详解

    Swift reduce函数使用示例详解

    这篇文章主要为大家介绍了Swift reduce函数使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • swift闭包和OC block类型的使用

    swift闭包和OC block类型的使用

    这篇文章主要介绍了swift闭包和OC block类型的使用,需要的朋友可以参考下
    2017-08-08

最新评论