美文网首页
Swift实现四种简单的排序算法

Swift实现四种简单的排序算法

作者: Lelouch20 | 来源:发表于2019-10-20 17:31 被阅读0次

一、冒泡排序

// 冒泡排序
for i in 0..<list.count {
    for j in i+1..<list.count {
        if list[i] > list[j] {
            let temp = list[i]
            list[i] = list[j]
            list[j] = temp
        }
    }
}

二、选择排序

// 选择排序
for i in 0..<list.count {
    var min = i
    for j in i+1..<list.count {
        if list[j] < list[min] {
            min = j
        }
    }
    let minValue = list[min]
    list[min] = list[i]
    list[i] = minValue
}

三、插入排序

// 插入排序
for i in 1..<list.count {
    let temp = list[i]
    for j in (1...i).reversed() {
        if list[j - 1] > temp {
            let current = list[j]
            list[j] = list[j-1]
            list[j - 1] = current
        } else {
            break
        }
    }
}

四、希尔排序

// 希尔排序
var gap = list.count / 2

while gap > 0 {
    var j: Int = 0
    for i in 0..<gap {
        j = i + gap
        while j < list.count {
            if list[j] < list[j - gap] {
                let temp = list[j]
                var k = j - gap
                while k >= 0 {
                    if list[k] > temp {
                        list[k + gap] = list[k]
                        list[k] = temp
                    } else {
                        break
                    }
                    k -= gap
                }
            }
            j += gap  
        } 
    }
    gap /= 2
}

相关文章

  • Swift实现四种简单的排序算法

    一、冒泡排序 二、选择排序 三、插入排序 四、希尔排序

  • 常用四种排序算法的思想与实现

    无整理 不简书 常用的排序算法有冒泡排序、选择排序、插入排序、快速排序,下面简单介绍四种排序方法的思路与实现代码。...

  • Swift3.0 数组和字典的排序问题

    简单的实现swift中字典和数组内部排序问题,不用再单独写一个算法来实现排序了,简单快捷~ 1.数组元素从小到大排...

  • Golang包——sort

    sort 包 在内部实现了四种基本的排序算法:插入排序(insertionSort)、归并排序(symMerge)...

  • PHP 实现插入排序

    导语 关于排序的算法,就此告一段落。冒泡排序、快速排序、选择排序、加上本篇的插入排序,这四种算法都是相对简单,容易...

  • 插入排序算法实现

    排序算法是最常见,最基础的算法,作者文集中记录了两种排序算法(插入排序,归并排序) 插入排序算法实现很简单直接,附...

  • 排序算法的实现

    用java对常用内部排序算法的实现。 对冒泡排序,简单选择排序,直接插入排序,希尔排序,归并排序的简单实现(缺少快...

  • 排序基础(一)

    排序算法 O(n2)的排序算法 为什么要学习O(n2)的排序算法? 基础 编码简单,易于实现,是一些简单场景的首选...

  • Aha! Algorithms - Bubble Sort

    《啊哈!算法》第 1 章第 2 节,冒泡排序的 Swift 实现 问题 给学生成绩排序,打印排序后的名字(和成绩)...

  • python实现选择排序(SelectionSort)

    python实现【选择排序】 算法原理及介绍 选择排序(Selection-sort)是一种简单直观的排序算法。它...

网友评论

      本文标题:Swift实现四种简单的排序算法

      本文链接:https://www.haomeiwen.com/subject/czkamctx.html