-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbubble-sort.js
More file actions
18 lines (15 loc) · 820 Bytes
/
Copy pathbubble-sort.js
File metadata and controls
18 lines (15 loc) · 820 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function bubbleSort(setOfNumbers) {
let outerIndexKeeper, innerIndexKeeper, theSwappingValue;
const sortedSetOfNumbers = Object.assign([], setOfNumbers);
for (outerIndexKeeper = 0; outerIndexKeeper < setOfNumbers.length - 1; outerIndexKeeper++) {
for (innerIndexKeeper = 0; innerIndexKeeper < sortedSetOfNumbers.length - outerIndexKeeper - 1; innerIndexKeeper++) {
if(sortedSetOfNumbers[innerIndexKeeper] > sortedSetOfNumbers[innerIndexKeeper+1]) {
theSwappingValue = sortedSetOfNumbers[innerIndexKeeper];
sortedSetOfNumbers[innerIndexKeeper] = sortedSetOfNumbers[innerIndexKeeper+1];
sortedSetOfNumbers[innerIndexKeeper+1] = theSwappingValue;
}
}
}
return sortedSetOfNumbers;
}
module.exports = bubbleSort;