美文网首页
Swift 实现排序算法

Swift 实现排序算法

作者: 杨晓晨 | 来源:发表于2017-08-18 16:44 被阅读0次

1、插入排序

原理

就像玩扑克牌,右手是无序的牌,右手的牌一张一张摸起来放到左手上,左手永远是排序好的牌。

实现代码
var array = [2,1,4,6,3,2,67,8,54,1] // 定义数组

for index in 1..<array.count { // 遍历数组,从第二个数开始
    var key = array[index] // 第一次循环获取第二个数
    var i = index - 1 //此时i为第一个数
    while i >= 0 && array[i] > key {//如果第二个比第一个数大
        array[i + 1] = array[i] //第一个数赋值给第二个
        i -= 1 // i = - 1 循环退出
    }
    array[i + 1] = key // 暂存的第二个数给第一个数赋值
    // index 变大以后会逐个向前比较,如果遇到比它小和比它大的区间就插进去
}

print(array)

Result : [1, 1, 2, 2, 3, 4, 6, 8, 54, 67]

相关文章

  • Aha! Algorithms - Bubble Sort

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

  • Swift 实现排序算法

    1、插入排序 原理 就像玩扑克牌,右手是无序的牌,右手的牌一张一张摸起来放到左手上,左手永远是排序好的牌。 实现代码

  • 排序算法【 Swift 实现】

    冒泡排序 插入排序 选择排序 归并排序 快速排序

  • 排序算法-swift实现

    1.冒泡排序 时间复杂度:O(n^2) 1.1初级 1.2正宗冒泡排序 1.3冒泡排序优化 问题:排序过程中,如果...

  • 数据结构&算法(一)

    一、Java实现快速排序算法 二、Java实现折半插入排序算法 三、Java实现冒泡排序算法

  • Swift 快速排序

    快速排序是很常见的算法, 那么Swift要如何实现呢? 下面提供了一种思路

  • Swift的十大经典排序算法总结

    Swift的十大经典排序算法总结 排序算法是《数据结构与算法》中最基本的算法之一。排序算法可以分为内部排序和外部排...

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

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

  • 排序算法详细代码实现

    算法分类 算法时间复杂度 选择排序 插入排序 C++实现 Python实现 冒泡排序 Python实现 归并排序 ...

  • 三大排序算法

    归并排序[稳定的排序算法] 递归实现 非递归实现 快速排序[不稳定的排序算法] 堆排序[不稳定的排序算法]

网友评论

      本文标题:Swift 实现排序算法

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