1
0
Fork 0
computer-science-in-javascript/src/sorting.js

44 lines
947 B
JavaScript

function swap (items, firstIndex, secondIndex) {
let temp = items[firstIndex];
items[firstIndex] = items[secondIndex];
items[secondIndex] = temp;
}
export function bubbleSort (items) {
let len = items.length;
let stop = 0;
for (let i = 0; i < len; i++) {
for (let j = 0; stop=len-i, j < stop; j++) {
if (items[j] > items[j+1]) {
swap(items, j, j+1);
}
}
}
return items;
}
export function selectionSort (items) {
let len = items.length;
let min = 0;
let j = 0;
for (let i = 0; i < len; i++) {
min = i;
// Check to see if anything is smaller
for (j=i+1; j < len; j++) {
if (items[j] < items[min]) {
min = j;
}
}
// If the minimum isn't where it should be, swap it
if (i !== min) {
swap(items, i, min);
}
}
return items;
}