// your code goes here
function bubbleSort(arr, n) {
for(let i=0;i<n-1;i++) {
for(let j=0;j<n-i-1;j++) { // iteration 0: j = 0 to n-2
if(arr[j]>arr[j+1]) {
let tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
// [arr[j], arr[j+1]] = [arr[j+1], arr[j]];
}
}
}
return arr;
}
function selectionSort(arr, n) {
for(let i=0;i<n-1;i++){
// find the index of the minimum element from i to n-1
let min_elem_idx = i;
for(let j=i+1;j<n;j++) {
if(arr[j] < arr[min_elem_idx]) {
min_elem_idx = j;
}
}
// swap min_elem_idx element with arr[i]
let tmp = arr[i];
arr[i] = arr[min_elem_idx];
arr[min_elem_idx] = tmp;
}
return arr;
}
console.log(selectionSort([6, 3, 1, 7, 4], 5))
Ly8geW91ciBjb2RlIGdvZXMgaGVyZQpmdW5jdGlvbiBidWJibGVTb3J0KGFyciwgbikgewoJZm9yKGxldCBpPTA7aTxuLTE7aSsrKSB7CgkJZm9yKGxldCBqPTA7ajxuLWktMTtqKyspIHsgLy8gaXRlcmF0aW9uIDA6IGogPSAwIHRvIG4tMgoJCQlpZihhcnJbal0+YXJyW2orMV0pIHsKCQkJCWxldCB0bXAgPSBhcnJbal07CgkJCQlhcnJbal0gPSBhcnJbaisxXTsKCQkJCWFycltqKzFdID0gdG1wOwoJCQkJCgkJCQkvLyBbYXJyW2pdLCBhcnJbaisxXV0gPSBbYXJyW2orMV0sIGFycltqXV07CgkJCX0KCQl9Cgl9CglyZXR1cm4gYXJyOwp9CgpmdW5jdGlvbiBzZWxlY3Rpb25Tb3J0KGFyciwgbikgewoJCglmb3IobGV0IGk9MDtpPG4tMTtpKyspewoJCS8vIGZpbmQgdGhlIGluZGV4IG9mIHRoZSBtaW5pbXVtIGVsZW1lbnQgZnJvbSBpIHRvIG4tMQoJCWxldCBtaW5fZWxlbV9pZHggPSBpOwoJCWZvcihsZXQgaj1pKzE7ajxuO2orKykgewoJCQlpZihhcnJbal0gPCBhcnJbbWluX2VsZW1faWR4XSkgewoJCQkJbWluX2VsZW1faWR4ID0gajsKCQkJfQoJCX0KCQkKCQkvLyBzd2FwIG1pbl9lbGVtX2lkeCBlbGVtZW50IHdpdGggYXJyW2ldCgkJbGV0IHRtcCA9IGFycltpXTsKCQlhcnJbaV0gPSBhcnJbbWluX2VsZW1faWR4XTsKCQlhcnJbbWluX2VsZW1faWR4XSA9IHRtcDsKCX0KCXJldHVybiBhcnI7Cn0KCmNvbnNvbGUubG9nKHNlbGVjdGlvblNvcnQoWzYsIDMsIDEsIDcsIDRdLCA1KSk=