ソートをリフレッシュするための練習問題を実行していましたが、この問題を遭遇しましたか?コンソールロギングクイックソートはソートを削減します
私は配列をクイックソートしていますが、console.log(quicksort(inputArray).toString());
の場合、残りの数は終了しません。
var pivot = inputArray.pop();
あなたは、その最後の要素を削除することによって元の配列を変更している:あなたは次の手順を実行するとここで
はコードhttps://jsfiddle.net/qLyt1yfv/
function quicksort(inputArray) {
if (inputArray.length <= 1) {
return inputArray;
} else {
var left_subarray = [];
var right_subarray = [];
var newArray = [];
var pivot = inputArray.pop();
var length = inputArray.length;
for (var i = 0; i < length; i++) {
if (inputArray[i] <= pivot) {
left_subarray.push(inputArray[i]);
} else {
right_subarray.push(inputArray[i]);
}
}
return newArray.concat(quicksort(left_subarray), pivot, quicksort(right_subarray));
}
}
var input = [51, 42, 96, 83, 37, 5, 24];
var resultArray = quicksort(input);
console.log(quicksort(input).toString());
console.log("Result Array: " + resultArray);
document.getElementById('result').innerHTML = resultArray.toString();
<h1 id="result">Quicksort: </h1>
を渡します。外部リンクに依存しないようにすることがベストプラクティスと考えられています。ユーザーにとっても簡単なので、結果を得る可能性が高くなります。 – SherylHohman