Skip to content

Commit 53059af

Browse files
authored
Merge pull request #5 from bmaslakov/revert-3-kotlin_native_fixes
Revert "Kotlin native fixes"
2 parents 48ac273 + 6dcbd0e commit 53059af

File tree

1 file changed

+6
-10
lines changed

1 file changed

+6
-10
lines changed

src/main/io/uuddlrlrba/ktalgs/datastructures/PriorityQueue.kt

+6-10
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ class PriorityQueue<T>(size: Int, val comparator: Comparator<T>? = null) : Colle
6767
private fun resize() {
6868
val old = arr
6969
arr = Array<Comparable<T>?>(size * 2, { null }) as Array<T?>
70-
old.copyInto(arr, 0, 0, size)
70+
System.arraycopy(old, 0, arr, 0, size + 1)
7171
}
7272

7373
public override fun isEmpty(): Boolean {
@@ -94,16 +94,12 @@ class PriorityQueue<T>(size: Int, val comparator: Comparator<T>? = null) : Colle
9494

9595
companion object {
9696
private fun<T> greater(arr: Array<T?>, i: Int, j: Int, comparator: Comparator<T>? = null): Boolean {
97-
// Remove nullability from values because comparator is not defined for nullables
98-
val left = arr[i] ?: return false
99-
val right = arr[j] ?: return true
100-
101-
comparator?.let {
102-
return it.compare(left, right) > 0
97+
if (comparator != null) {
98+
return comparator.compare(arr[i], arr[j]) > 0
99+
} else {
100+
val left = arr[i]!! as Comparable<T>
101+
return left > arr[j]!!
103102
}
104-
105-
val leftC = left as Comparable<T>
106-
return leftC > right
107103
}
108104

109105
public fun<T> sink(arr: Array<T?>, a: Int, size: Int, comparator: Comparator<T>? = null) {

0 commit comments

Comments
 (0)