Below you can look on source code. It is implemented in one file:
Index.html
<html>
<head>
<title>Dawid Andrejczuk</title>
</head>
<body>
<h1>Sorting Random Numbers - task 3</h1>
<p id="unsorted"></p>
<p id="bubble"></p>
<p id="quick"></p>
<script>
let numbers = [];
for (let i = 0; i < 10; i++) {
numbers.push(Math.floor(Math.random() * 100) + 1);
}
document.getElementById("unsorted").innerHTML = "Unsorted numbers: " + numbers;
console.time('b')
for (let i = 0; i < numbers.length - 1; i++) {
for (let j = 0; j < numbers.length - i - 1; j++) {
if (numbers[j] > numbers[j + 1]) {
let temp = numbers[j];
numbers[j] = numbers[j + 1];
numbers[j + 1] = temp;
}
}
}
console.timeEnd('b')
document.getElementById("bubble").innerHTML = "Sorted numbers using Bubble Sort: " + numbers;
console.time('q')
function quickSort(arr) {
if (arr.length <= 1) {
return arr;
}
const pivot = arr[arr.length - 1];
const left = [];
const right = [];
for (let i = 0; i < arr.length - 1; i++) {
if (arr[i] < pivot) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return [...quickSort(left), pivot, ...quickSort(right)];
}
const sortedNumbers = quickSort(numbers);
console.timeEnd('q')
document.getElementById("quick").innerHTML = "Sorted numbers using Quick Sort: " + sortedNumbers;
</script>
</body>
</html>
On next page you can check demo version.