gro*_*myk 11 sorting algorithm kotlin
.sort()、.sortWith()等方法使用哪种排序?
val array = arrayOf(3,2,1)
Run Code Online (Sandbox Code Playgroud)
不同类型和大小的数组的算法是否存在一些差异?
只是为了扩展Marko Toplnik 在评论中所说的:小心创建数组的方式,因为基于此,sort将使用不同的函数。
val array = arrayOf(3,2,1)
array.sort()
Run Code Online (Sandbox Code Playgroud)
这(在 Kotlin/JVM 中)导致:
public fun <T> Array<out T>.sort(): Unit {
if (size > 1) java.util.Arrays.sort(this)
}
Run Code Online (Sandbox Code Playgroud)
这将导致java.util.ComparableTimSort被使用(参见sort(Object[] a))
val array = intArrayOf(3,2,1)
array.sort()
Run Code Online (Sandbox Code Playgroud)
这(在 Kotlin/JVM 中)导致:
public actual fun IntArray.sort(): Unit {
if (size > 1) java.util.Arrays.sort(this)
}
Run Code Online (Sandbox Code Playgroud)
这将导致java.util.DualPivotQuicksort被使用(参见sort(int[] a))