Tag: mergesort

在Kotlin中进行合并排序时会出现一个奇怪的情况

当我做合并排序时,我发现有一些奇怪的事情发生,我不知道为什么。 由于我对Kotlin不太熟悉,我不知道这个问题是我的逻辑还是Kotlin语法。 需要帮忙。 这是代码。 这个版本的作品。 fun runMergeSort(anArray:IntArray,n:Int){ mergeSort(anArray,0,n-1) } fun mergeSort(intArray: IntArray,left:Int,right:Int){ if(left<right){ val mid = (left+right)/2 mergeSort(intArray,left,mid) mergeSort(intArray,mid+1,right) merge(intArray,left,mid,right) } } fun merge(intArray:IntArray,left:Int,mid:Int,right:Int){ val aux = IntArray(right-left+1) for(i in left..right){ aux[i-left] = intArray[i] } var i = left var j = mid+1 for(k in left..right){ if(i>mid){ intArray[k] = aux[j-left] j++ } else if (j>right){ […]