@aureooms/js-sort
Version:
sorting code bricks for JavaScript
29 lines (25 loc) • 2.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.bubblesort = bubblesort;
function bubblesort(compare, a, i, j) {
var s = j - 1;
var swapped;
do {
// we stop if the array is sorted
// i.e. if no swap was required
// in this step
swapped = false;
for (var k = i; k < s; ++k) {
if (compare(a[k], a[k + 1]) > 0) {
// swap boxes
var t = a[k];
a[k] = a[k + 1];
a[k + 1] = t;
swapped = true;
}
}
} while (swapped);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zb3J0L2J1YmJsZXNvcnQuanMiXSwibmFtZXMiOlsiYnViYmxlc29ydCIsImNvbXBhcmUiLCJhIiwiaSIsImoiLCJzIiwic3dhcHBlZCIsImsiLCJ0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQU8sU0FBU0EsVUFBVCxDQUFzQkMsT0FBdEIsRUFBK0JDLENBQS9CLEVBQWtDQyxDQUFsQyxFQUFxQ0MsQ0FBckMsRUFBeUM7QUFFL0MsTUFBTUMsQ0FBQyxHQUFHRCxDQUFDLEdBQUcsQ0FBZDtBQUVBLE1BQUlFLE9BQUo7O0FBRUEsS0FBRztBQUVGO0FBQ0E7QUFDQTtBQUVBQSxJQUFBQSxPQUFPLEdBQUcsS0FBVjs7QUFFQSxTQUFNLElBQUlDLENBQUMsR0FBR0osQ0FBZCxFQUFrQkksQ0FBQyxHQUFHRixDQUF0QixFQUEwQixFQUFFRSxDQUE1QixFQUFnQztBQUUvQixVQUFLTixPQUFPLENBQUVDLENBQUMsQ0FBQ0ssQ0FBRCxDQUFILEVBQVFMLENBQUMsQ0FBQ0ssQ0FBQyxHQUFHLENBQUwsQ0FBVCxDQUFQLEdBQTRCLENBQWpDLEVBQXFDO0FBRXBDO0FBRUEsWUFBTUMsQ0FBQyxHQUFHTixDQUFDLENBQUNLLENBQUQsQ0FBWDtBQUNBTCxRQUFBQSxDQUFDLENBQUNLLENBQUQsQ0FBRCxHQUFPTCxDQUFDLENBQUNLLENBQUMsR0FBRyxDQUFMLENBQVI7QUFDQUwsUUFBQUEsQ0FBQyxDQUFDSyxDQUFDLEdBQUcsQ0FBTCxDQUFELEdBQVdDLENBQVg7QUFFQUYsUUFBQUEsT0FBTyxHQUFHLElBQVY7QUFFQTtBQUVEO0FBRUQsR0F4QkQsUUF3QlVBLE9BeEJWO0FBeUJBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGJ1YmJsZXNvcnQgKCBjb21wYXJlLCBhLCBpLCBqICkge1xuXG5cdGNvbnN0IHMgPSBqIC0gMTtcblxuXHRsZXQgc3dhcHBlZCA7XG5cblx0ZG8ge1xuXG5cdFx0Ly8gd2Ugc3RvcCBpZiB0aGUgYXJyYXkgaXMgc29ydGVkXG5cdFx0Ly8gaS5lLiBpZiBubyBzd2FwIHdhcyByZXF1aXJlZFxuXHRcdC8vIGluIHRoaXMgc3RlcFxuXG5cdFx0c3dhcHBlZCA9IGZhbHNlO1xuXG5cdFx0Zm9yICggbGV0IGsgPSBpIDsgayA8IHMgOyArK2sgKSB7XG5cblx0XHRcdGlmICggY29tcGFyZSggYVtrXSwgYVtrICsgMV0gKSA+IDAgKSB7XG5cblx0XHRcdFx0Ly8gc3dhcCBib3hlc1xuXG5cdFx0XHRcdGNvbnN0IHQgPSBhW2tdO1xuXHRcdFx0XHRhW2tdID0gYVtrICsgMV07XG5cdFx0XHRcdGFbayArIDFdID0gdDtcblxuXHRcdFx0XHRzd2FwcGVkID0gdHJ1ZTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH0gd2hpbGUgKCBzd2FwcGVkICk7XG59XG4iXX0=