Swift代码实现冒泡排序算法的简单实例
2016-06-20 09:30
746 查看
冒泡排序原理
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) }
运行结果:
这里的for循环使用的是C里面传统的for循环方式,请各位指教、以及拍砖!
您可能感兴趣的文章:
相关文章推荐
- 冒泡排序
- Apple Swift学习教程
- 介绍 Fedora 上的 Swift
- C#冒泡法排序算法实例分析
- C++实现对输入数字组进行排序
- 用PHP写的一个冒泡排序法的函数简单实例
- js实现数组冒泡排序、快速排序原理
- 分享javascript实现的冒泡排序代码并优化
- Java数据结构及算法实例:冒泡排序 Bubble Sort
- c++冒泡排序示例分享
- Java中的数组排序方式(快速排序、冒泡排序、选择排序)
- python冒泡排序算法的实现代码
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift自定义iOS中的TabBarController并为其添加动画
- Swift编程中的泛型解析
- Swift中定义二维数组的方法及遍历方法示例
- c语言实现冒泡排序、希尔排序等多种算法示例
- c#冒泡排序示例分享
- 冒泡排序算法及Ruby版的简单实现