虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > Swift编程 > Swift代码实现冒泡排序算法的简单实例

Swift代码实现冒泡排序算法的简单实例
类别:Swift编程   作者:码皇   来源:互联网   点击:

冒牌排序可谓最基本的排序算法之一,稳定而没有优化空间:D 下面就一起来看一下Swift代码实现冒泡排序算法的简单实例:

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

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

    import Cocoavar 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循环方式,请各位指教、以及拍砖!

相关热词搜索: Swift 冒泡排序 排序算法 排序