Skip to content

Commit 6dcbd0e

Browse files
authored
Revert "Kotlin native fixes"
1 parent 48ac273 commit 6dcbd0e

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)