码迷,mamicode.com
首页 > 编程语言 > 详细

插入排序和冒泡排序(Swift版本)

时间:2017-02-03 16:51:37      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:bre   swa   swift   count   else   out   com   版本   let   

插入排序(只记录代码不作详细分析)

插入排序将输入的元素一个个插入到已排序的队列里,对比是由后往前

代码:

func insertSort<Elem: Comparable>(_ arr: inout [Elem]) {
    for i in 1...arr.count-1 {
        let tmp = arr[i]
       
        for j in (0...i-1).reversed() {
            if (j > 0 && arr[j] > tmp) {
                arr[j + 1] = arr[j]
            } else {
                arr[j + 1] = tmp
                break
            }
        }
    }
}

 

冒泡排序:

func bubbleSort<Elem: Comparable>(_ arr: inout [Elem]) {
    func swap(_ a: inout Elem, _ b: inout Elem) {
        let tmp = a
        a = b
        b = tmp
    }
   
    for i in (1...arr.count-1).reversed() {
        for j in 0...i-1 {
            if arr[j] > arr[j+1] {
                swap(&arr[j], &arr[j+1])
            }
        }
    }
}

插入排序和冒泡排序(Swift版本)

标签:bre   swa   swift   count   else   out   com   版本   let   

原文地址:http://www.cnblogs.com/naturelight/p/6362791.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!