服务器之家

服务器之家 > 正文

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

时间:2020-12-26 17:04     来源/作者:Coder2015

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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)
}

运行结果:

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

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

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

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

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
电视剧《琉璃》全集在线观看 琉璃美人煞1-59集免费观看地址
电视剧《琉璃》全集在线观看 琉璃美人煞1-59集免费观看地址 2020-08-12
返回顶部