gpt4 book ai didi

algorithm - Kotlin 默认使用什么样的排序?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:57:35 25 4
gpt4 key购买 nike

.sort()、.sortWith() 等方法使用哪种排序?

val array = arrayOf(3,2,1)

对于不同类型和大小的数组,算法是否存在一些差异?

最佳答案

只是为了扩展什么Marko Toplnik said in the comment : 请注意如何创建数组,因为基于此,将使用不同的 sort 函数。


val array = arrayOf(3,2,1)
array.sort()

这(在 Kotlin/JVM 中)导致:

public fun <T> Array<out T>.sort(): Unit {
if (size > 1) java.util.Arrays.sort(this)
}

https://github.com/JetBrains/kotlin/blob/04bbf2393684fb7f552da667e8f28dfc1f83bbfb/libraries/stdlib/jvm/src/generated/_ArraysJvm.kt#L1789-L1798

这将导致 java.util.ComparableTimSort正在使用(参见 sort(Object[] a) )


val array = intArrayOf(3,2,1)
array.sort()

这(在 Kotlin/JVM 中)导致:

public actual fun IntArray.sort(): Unit {
if (size > 1) java.util.Arrays.sort(this)
}

https://github.com/JetBrains/kotlin/blob/04bbf2393684fb7f552da667e8f28dfc1f83bbfb/libraries/stdlib/jvm/src/generated/_ArraysJvm.kt#L1729-L1734

这将导致 java.util.DualPivotQuicksort正在使用(参见 sort(int[] a) )

关于algorithm - Kotlin 默认使用什么样的排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52964383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com