Swift3.0 直接插入排序
来源:互联网 发布:程序设计导论 python 编辑:程序博客网 时间:2024/06/08 12:32
排序算法整理--- 直接插入排序
1.目的
插入排序(Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
2.算法描述
- 从第一个元素开始,该元素可以认为已经被排序
- 取出下一个元素,在已经排序的元素序列中从后向前扫描
- 如果该元素(已排序)大于新元素,将该元素移到下一位置
- 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
- 将新元素插入到该位置后
- 重复步骤2~5
3.代码段
func insertSort( sortArray : inout [Int]) -> [Int] { for i in 1 ..< sortArray.count { var j = i - 1 let key = sortArray[i] while j >= 0 && key < sortArray[j] { sortArray[j+1] = sortArray[j] j -= 1 } sortArray[j+1] = key } return sortArray }
其他
1.Inout
让值类型以引用方式传递
有时候我们需要通过一个函数改变函数外面变量的值(将一个值类型参数以引用方式传递)
Swift提供的inout关键字就可以实现。
阅读全文
0 0
- Swift3.0 直接插入排序
- Swift3.0插入排序
- 算法 -- iOS开发用Objective_C / Swift3.0实现:直接插入排序 / 二分法插入排序 / 希尔排序
- 插入排序--直接插入
- 插入排序------直接插入
- 插入排序---直接插入
- 排序:直接插入排序
- 排序---直接插入排序
- 排序 -- 直接插入排序
- 排序---直接插入排序
- 排序--直接插入排序
- 排序-直接插入排序
- 【排序】直接插入排序
- 排序--直接插入排序
- 排序:直接插入排序
- 【排序】直接插入排序
- 排序--直接插入排序
- 排序--直接插入排序
- 常见的排序算法
- [LeetCode] 136. Single Number
- Django 设置template的全局变量
- 程序员面试(1):利用位运算完成两个整数的加法运算
- 决策树(decision tree)的自我理解 (上)
- Swift3.0 直接插入排序
- 深入解析String#intern
- iOS开发 二维码扫描和生成
- LeetCode (Binary Tree Preorder Traversal)
- 【Algothrim】求从n个数中取r个数的组合
- [Java算法分析与设计]链式队列的实现
- windows 2008 server 安装VS2010 后无法无法访问数据库,提示“ORA-06413: 连接未打开”
- logback配置
- Android模拟按键