Kategorie
Bez kategorii

Task 3

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.