fork download
  1. // your code goes here
  2. // your code goes here
  3.  
  4. // function bubbleSort(arr, n) {
  5. // for(let i=0;i<n-1;i++) {
  6. // for(let j=0;j<=n-i-2;j++) {
  7. // if(arr[j]>arr[j+1]) {
  8. // let tmp = arr[j];
  9. // arr[j] = arr[j+1];
  10. // arr[j+1] = tmp;
  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, 3, 5, 2], 5))
  19.  
  20. // TC: O(n^2)
  21. // SC: O(1)
  22.  
  23.  
  24. // [4, 1, 3, 5, 2]
  25.  
  26. // i=0, j=0, 1, 2, 3 <= 5-2-0 (n-2-i)
  27.  
  28. // i=1, j=0, 1, 2 <= 5-2-1 (n-2-i)
  29.  
  30.  
  31.  
  32. function selectionSort(arr, n) {
  33. for(let i=0;i<=n-2;i++) {
  34. let min_elem_idx = i;
  35. for(let j=i;j<=n-1;j++) {
  36. if(arr[j] < arr[min_elem_idx]) {
  37. min_elem_idx = j;
  38. }
  39. }
  40. // swap arr[min_elem_idx] with arr[i]
  41. let tmp = arr[min_elem_idx];
  42. arr[min_elem_idx] = arr[i];
  43. arr[i] = tmp;
  44. // [arr[min_elem_idx], arr[i]] = [arr[i], arr[min_elem_idx]]
  45. }
  46. return arr;
  47. }
  48.  
  49. console.log(selectionSort([4, 1, 3, 5, 2], 5))
Success #stdin #stdout 0.02s 18328KB
stdin
Standard input is empty
stdout
1,2,3,4,5