javaScriptソート---クイックソート
837 ワード
function quickSort (array) {
let sort = (arr, left = 0, right = array.length - 1) => {
if(left >= right) { // left >= right,
return
}
else {
let i = left,j = right
const base = arr[j]
while (i < j) { //
while (i < j && arr[i] <= base) { //
i++
}
arr[j] = arr[i]
while(j > i && arr[j] >= base) { // (i j)
j--
}
arr[i] = arr[j]
}
arr[j] = base // ( j i )
sort(arr,left,j-1) //
sort(arr,j+1,right) //
}
}
const newArr = array.concat() //
sort(newArr)
return newArr
}
var arr = [3,42,54,2,1]
quickSort([3,42,54,2,1]);