JavaScriptでクイックソートを実装する方法は?
クイックソート
クイックソートは、JavaScriptで最も重要なソート方法の1つです。配列からピボット値(ランダム値)を取得します。配列内の他のすべての要素は2つのカテゴリに分割されます。これらの要素は、ピボット値よりも小さく、ピボット値よりも大きい場合があります。
その後、各カテゴリ(ピボット未満およびピボットより大きい)は、ピボットが選択されるのと同じ手順に従い、各カテゴリはサブカテゴリ(ピボット未満およびピボットより大きい)に分割されます。 。
最終的に、サブカテゴリは、比較する要素がこれ以上ない場合に要素を含むか、要素を含まないように分割されます。残りの値は、以前のいくつかのポイントでピボットとして示され、この最も低いサブカテゴリにトリクルダウンしませんでした。
例
<html>
<body>
<script>
function quickSort(originalArr) {
if (originalArr.length <= 1) {
return originalArr;
} else {
var leftArr = [];
var rightArr = [];
var newArr = [];
var pivot = originalArr.pop(); // Take a pivot value
var length = originalArr.length;
for (var i = 0; i < length; i++) {
if (originalArr[i] <= pivot) { // using pivot value start comparing
leftArr.push(originalArr[i]);
} else {
rightArr.push(originalArr[i]);
}
}
return newArr.concat(quickSort(leftArr), pivot, quickSort(rightArr)); // array will be //returned untill sorting occurs
}
}
var myArray = [9, 0, 2, 7, -2, 6, 1 ];
document.write("Original array: " + myArray);
var sortedArray = quickSort(myArray);
document.write("Sorted array: " + sortedArray);
</script>
</body>
</html> 出力
Original array: 9,0,2,7,-2,6,1 Sorted array: -2,0,1,2,6,7,9
-
JavaScriptで非同期ループを実装する方法は?
以下は、JavaScriptで非同期ループを実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> &nbs
-
JavaScriptを使用してアクセント付き文字を含む文字列を並べ替える方法は?
以下は、JavaScriptでアクセント付き文字を含む文字列を並べ替えるコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style&g