def QuickSort(arr:Array[Int],first:Int,last:Int): List[Int] = {
var pivot:Int = 0
var temp:Int = 0
if (first < last) {
pivot = first
var i:Int = first
var j:Int = last;
while(i<j){
while(arr(i) <= arr(pivot) && i < last)
i=i+1
while(arr(j) > arr(pivot))
j=j+1
if(i<j)
{
temp = arr(i)
arr(i) = arr(j)
arr(j) = temp
}
}
temp = arr(pivot)
arr(pivot) = arr(j)
arr(j) = temp
QuickSort(arr, first, j-1)
QuickSort(arr, j+1, last)
}
arr.toList
}
您好我是新來的scala並試圖執行快速排序。程序工作正常,但我想刪除while循環,因爲我讀了,雖然並不建議在scala,因爲他們沒有返回任何值。Scala - 在快速排序中刪除while循環
有沒有什麼辦法在上面的代碼中刪除while循環。
那麼你想從循環中返回一個值嗎? –