Skip to content

Commit 0d5d8d3

Browse files
author
Mark Rabins
authored
Swap changes
Swap changed from swap(&a[y - 1], &a[y]) -> a.swapAt(y - 1, y)
1 parent 08abb81 commit 0d5d8d3

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

Insertion Sort/README.markdown

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ Here is an implementation of insertion sort in Swift:
9191

9292
```swift
9393
func insertionSort(_ array: [Int]) -> [Int] {
94-
var a = array // 1
94+
var a = array
9595
for x in 1..<a.count { // 2
9696
var y = x
9797
while y > 0 && a[y] < a[y - 1] { // 3
@@ -101,6 +101,20 @@ func insertionSort(_ array: [Int]) -> [Int] {
101101
}
102102
return a
103103
}
104+
105+
func insertionSort(_ array: [Int]) -> [Int] {
106+
var a = array // 1
107+
for x in 1..<a.count { // 2
108+
var y = x
109+
while y > 0 && a[y] < a[y - 1] { // 3
110+
a.swapAt(y - 1, y)
111+
y -= 1
112+
}
113+
}
114+
return a
115+
}
116+
117+
104118
```
105119

106120
Put this code in a playground and test it like so:

0 commit comments

Comments
 (0)