UNPKG

@extra-array/bubble-sort.min

Version:
37 lines 934 B
import cmp from './_cmp'; function bubbleSortPair$(x, fc, m) { var X = x.length, diff = x !== m; for (var i = 0; i < X - 1; i++) { for (var j = i + 1; j < X; j++) { if (fc(m[i], m[j]) <= 0) continue; if (true) { var t = x[i]; x[i] = x[j]; x[j] = t; } if (diff) { var u = m[i]; m[i] = m[j]; m[j] = u; } } } return x; } /** * Arranges values in an order. * @param x an array (updated) * @param fc compare function (a, b) * @param fm map function (v, i, x) * @returns x */ function bubbleSort$(x, fc = null, fm = null) { var fc = fc || cmp; if (fm) return bubbleSortPair$(x, fc, x.map(fm)); else return bubbleSortPair$(x, fc, x); } export default bubbleSort$; //# sourceMappingURL=bubbleSort$.js.map