fork download
  1. // your code goes here
  2. // function bubbleSort(arr, n) {
  3.  
  4. // for(let i=0;i<n-1;i++) {
  5. // for(let j=0;j<n-1-i;j++) {
  6. // if(arr[j] > arr[j+1]) {
  7. // let tmp = arr[j];
  8. // arr[j] = arr[j+1];
  9. // arr[j+1] = tmp;
  10.  
  11. // // [arr[j], arr[j+1]] = [arr[j+1], arr[j]];
  12. // }
  13. // }
  14. // }
  15. // return arr;
  16. // }
  17.  
  18. // console.log(bubbleSort([4, 1, 5, 2, 3], 5))
  19.  
  20. // TC: O(n^2) SC: O(1)
  21. // i=0, j, j+1, j<=n-2
  22. // i=1, j<=n-3
  23.  
  24.  
  25. function selectionSort(arr, n) {
  26. for(let i=0;i<n-1;i++) {
  27. let min_elem_idx = i;
  28. for(let j=i+1;j<n;j++) {
  29. if(arr[j] < arr[min_elem_idx]) {
  30. min_elem_idx = j;
  31. }
  32. }
  33. // swap arr[min_elem_idx] with arr[i]
  34. let tmp = arr[i];
  35. arr[i] = arr[min_elem_idx];
  36. arr[min_elem_idx] = tmp;
  37.  
  38. }
  39. return arr;
  40. }
  41.  
  42. console.log(selectionSort([4, 1, 5, 2, 3], 5))
Success #stdin #stdout 0.04s 16556KB
stdin
Standard input is empty
stdout
1,2,3,4,5