Skip to content

Commit 5b2f23b

Browse files
committed
Add sort algorithms
1 parent d17416f commit 5b2f23b

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/main/kotlin/ru/romanow/algorithms/QuickSort.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,18 @@ class QuickSort {
1010
}
1111

1212
private fun partition(arr: IntArray, low: Int, high: Int): Int {
13-
val pivot = arr[high]
13+
val pivot = arr[high] // в качестве опрного элемента берем последний
1414
var i = low - 1
1515

16+
// если arr[j] <= pivot, увеличиваем i и меняем местами arr[i] и arr[j]
17+
// таким образом, все элементы <= pivot собираются слева
1618
for (j in low until high) {
1719
if (arr[j] <= pivot) {
1820
i++
1921
arr.swap(i, j)
2022
}
2123
}
24+
// в конце arr[i + 1] и arr[high] меняются местами, чтобы поставить pivot на правильную позицию
2225
arr.swap(i + 1, high)
2326
return i + 1
2427
}

0 commit comments

Comments
 (0)