源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-08-13 03:10 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Swift代码实现冒泡排序算法的简单实例
[b]冒泡排序原理 [/b]1.对需要排序的数据,俩俩进行比较,小的放前面,大的放后面 2.依次对每一对相邻的数据作步骤1的工作,当排序到最后一个元素的时候,我们能保证这个数据是最大。 3.针对所有的元素重复以上的步骤,除了最后一个(这里为什么需要针对除了最后一个元素的全部元素做一次呢,因为最后一个元素已经是最大的不需要排序了,同时,由于元素的交换,交换上来的元素的大小不一定比前面的元素的大,所以需要再做一次)。 4持续对越来越少的元素重复3的步骤,直到没有任何一对元素需要比较。 时间复杂度 我们一般谈最坏时间复制度 n(n-1)/2 = O(n²) [b]算法稳定性 [/b]相同元素的前后顺序并没有改变,所以是一种稳定排序算法
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)
}

运行结果: [img]http://files.jb51.net/file_images/article/201606/201662092720810.png?201652092732[/img] [img]http://files.jb51.net/file_images/article/201606/201662092751350.png?201652092758[/img] [img]http://files.jb51.net/file_images/article/201606/201662092808783.png?201652092817[/img] 这里的for循环使用的是C里面传统的for循环方式,请各位指教、以及拍砖!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部