插入排序和冒泡排序(Swift版本)
Posted KbDaVinci
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入排序和冒泡排序(Swift版本)相关的知识,希望对你有一定的参考价值。
插入排序(只记录代码不作详细分析)
插入排序将输入的元素一个个插入到已排序的队列里,对比是由后往前
代码:
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版本)的主要内容,如果未能解决你的问题,请参考以下文章