// your code goes here
function bubbleSort(arr, n) {
for(let i=0;i<n-1;i++) {
// 0 to n-2 <n-0-1
// 0 to n-3 <n-1-1
// 0 to n-4 <n-2-1 ....
for(let j=0;j<n-i-1;j++) {
if(arr[j]>arr[j+1]) {
let tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
return arr;
}
function selectionSort(arr, n) {
for(let i=0;i<n-1;i++) {
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 arr[min_elem_idx] with arr[i]
let tmp = arr[i];
arr[i] = arr[min_elem_idx];
arr[min_elem_idx] = tmp;
}
return arr;
}
// console.log(bubbleSort([4, 6, 1, 3, 2], 5))
console.log(selectionSort([4, 6, 1, 3, 2], 5))
Ly8geW91ciBjb2RlIGdvZXMgaGVyZQpmdW5jdGlvbiBidWJibGVTb3J0KGFyciwgbikgewoJZm9yKGxldCBpPTA7aTxuLTE7aSsrKSB7CgkJLy8gMCB0byBuLTIgPG4tMC0xCgkJLy8gMCB0byBuLTMgPG4tMS0xCgkJLy8gMCB0byBuLTQgPG4tMi0xIC4uLi4KCQlmb3IobGV0IGo9MDtqPG4taS0xO2orKykgewoJCQlpZihhcnJbal0+YXJyW2orMV0pIHsKCQkJCWxldCB0bXAgPSBhcnJbal07CgkJCQlhcnJbal0gPSBhcnJbaisxXTsKCQkJCWFycltqKzFdID0gdG1wOwoJCQl9CgkJfQoJfQoJcmV0dXJuIGFycjsKfQoKZnVuY3Rpb24gc2VsZWN0aW9uU29ydChhcnIsIG4pIHsKCWZvcihsZXQgaT0wO2k8bi0xO2krKykgewoJCWxldCBtaW5fZWxlbV9pZHggPSBpOwoJCWZvcihsZXQgaj1pKzE7ajxuO2orKykgewoJCQlpZihhcnJbal0gPCBhcnJbbWluX2VsZW1faWR4XSkgewoJCQkJbWluX2VsZW1faWR4ID0gajsKCQkJfQoJCX0KCQkvLyBzd2FwIGFyclttaW5fZWxlbV9pZHhdIHdpdGggYXJyW2ldCgkJbGV0IHRtcCA9IGFycltpXTsKCQlhcnJbaV0gPSBhcnJbbWluX2VsZW1faWR4XTsKCQlhcnJbbWluX2VsZW1faWR4XSA9IHRtcDsKCX0KCXJldHVybiBhcnI7Cn0KCi8vIGNvbnNvbGUubG9nKGJ1YmJsZVNvcnQoWzQsIDYsIDEsIDMsIDJdLCA1KSkKY29uc29sZS5sb2coc2VsZWN0aW9uU29ydChbNCwgNiwgMSwgMywgMl0sIDUpKQ==