{"_id":"@aureooms/js-mergesort","_rev":"2-aa146846a145e8fff356e734ff7e505f","name":"@aureooms/js-mergesort","description":"mergesort code bricks for JavaScript","dist-tags":{"latest":"7.1.0"},"versions":{"7.1.0":{"author":{"name":"aureooms"},"scripts":{"doc":"groc","build":"aureooms-node-package-build","test":"aureooms-node-package-test"},"devDependencies":{"@aureooms/js-array":"^3.1.0","@aureooms/js-compare":"^1.4.4","@aureooms/js-functools":"^2.0.3","@aureooms/js-itertools":"^3.0.0","@aureooms/js-merging":"^7.1.0","@aureooms/js-random":"^2.0.0","@aureooms/js-search":"^0.0.4","@aureooms/js-sll":"^1.0.1","@aureooms/js-sort":"^7.0.0","aureooms-node-package":"^6.0.1"},"main":"js/dist/mergesort.js","bugs":{"url":"https://github.com/aureooms/js-mergesort/issues"},"license":"AGPL-3.0","homepage":"http://aureooms.github.io/js-mergesort/","description":"mergesort code bricks for JavaScript","dependencies":{},"keywords":["bricks","ender","javascript","js","mergesort","sorting"],"name":"@aureooms/js-mergesort","repository":{"url":"git+https://github.com/aureooms/js-mergesort.git","type":"git"},"version":"7.1.0","spm":{"main":"js/dist/mergesort.js"},"gitHead":"bef660ba5c45a83d61f546f0d9e53570b532f4ac","_id":"@aureooms/js-mergesort@7.1.0","_shasum":"c5b0edc677f60e7afe3c982250f28f298a2b7ca6","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.5.0","_npmUser":{"name":"aureooms","email":"aurelien.ooms@gmail.com"},"dist":{"shasum":"c5b0edc677f60e7afe3c982250f28f298a2b7ca6","tarball":"https://registry.npmjs.org/@aureooms/js-mergesort/-/js-mergesort-7.1.0.tgz","integrity":"sha512-utJ+7Q6N3elpd7+ta0NRsNitjYtKLpMvccjzYaPLEZdflY5WiTRnsKen5xhyZRwEs3p1/wrllJF8xdIsOh0hFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTxIYOzjRYQUXGureFox7GHU3iZIhKh5eiv5ylP/hYWAIhAJ2U/aJoZd96bOUONw1r4p739T8CB47JbNmPfgLsre/0"}]},"maintainers":[{"name":"aureooms","email":"aurelien.ooms@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/js-mergesort-7.1.0.tgz_1487246549630_0.23813329404219985"}}},"readme":"[js-mergesort](http://aureooms.github.io/js-mergesort)\n==\n\nMergesort code bricks for JavaScript. Parent is\n[aureooms/js-sort](https://github.com/aureooms/js-sort).\n\n```js\nlet sort = mergesort.recursive( merging.tapemerge , array.copy ) ;\n```\n\n[![NPM license](http://img.shields.io/npm/l/@aureooms/js-mergesort.svg?style=flat)](https://raw.githubusercontent.com/aureooms/js-mergesort/master/LICENSE)\n[![NPM version](http://img.shields.io/npm/v/@aureooms/js-mergesort.svg?style=flat)](https://www.npmjs.org/package/@aureooms/js-mergesort)\n[![Bower version](http://img.shields.io/bower/v/@aureooms/js-mergesort.svg?style=flat)](http://bower.io/search/?q=@aureooms/js-mergesort)\n[![Build Status](http://img.shields.io/travis/aureooms/js-mergesort.svg?style=flat)](https://travis-ci.org/aureooms/js-mergesort)\n[![Coverage Status](http://img.shields.io/coveralls/aureooms/js-mergesort.svg?style=flat)](https://coveralls.io/r/aureooms/js-mergesort)\n[![Dependencies Status](http://img.shields.io/david/aureooms/js-mergesort.svg?style=flat)](https://david-dm.org/aureooms/js-mergesort#info=dependencies)\n[![devDependencies Status](http://img.shields.io/david/dev/aureooms/js-mergesort.svg?style=flat)](https://david-dm.org/aureooms/js-mergesort#info=devDependencies)\n[![Code Climate](http://img.shields.io/codeclimate/github/aureooms/js-mergesort.svg?style=flat)](https://codeclimate.com/github/aureooms/js-mergesort)\n[![NPM downloads per month](http://img.shields.io/npm/dm/@aureooms/js-mergesort.svg?style=flat)](https://www.npmjs.org/package/@aureooms/js-mergesort)\n[![GitHub issues](http://img.shields.io/github/issues/aureooms/js-mergesort.svg?style=flat)](https://github.com/aureooms/js-mergesort/issues)\n[![Inline docs](http://inch-ci.org/github/aureooms/js-mergesort.svg?branch=master&style=shields)](http://inch-ci.org/github/aureooms/js-mergesort)\n\n\nCan be managed through [jspm](https://github.com/jspm/jspm-cli),\n[duo](https://github.com/duojs/duo),\n[component](https://github.com/componentjs/component),\n[bower](https://github.com/bower/bower),\n[ender](https://github.com/ender-js/Ender),\n[jam](https://github.com/caolan/jam),\n[spm](https://github.com/spmjs/spm),\nand [npm](https://github.com/npm/npm).\n\n## Install\n\n### jspm\n```terminal\njspm install github:aureooms/js-mergesort\n# or\njspm install npm:@aureooms/js-mergesort\n```\n### duo\nNo install step needed for duo!\n\n### component\n```terminal\ncomponent install aureooms/js-mergesort\n```\n\n### bower\n```terminal\nbower install @aureooms/js-mergesort\n```\n\n### ender\n```terminal\nender add @aureooms/js-mergesort\n```\n\n### jam\n```terminal\njam install @aureooms/js-mergesort\n```\n\n### spm\n```terminal\nspm install @aureooms/js-mergesort --save\n```\n\n### npm\n```terminal\nnpm install @aureooms/js-mergesort --save\n```\n\n## Require\n### jspm\n```js\nlet mergesort = require( \"github:aureooms/js-mergesort\" ) ;\n// or\nimport mergesort from '@aureooms/js-mergesort' ;\n```\n### duo\n```js\nlet mergesort = require( \"aureooms/js-mergesort\" ) ;\n```\n\n### component, ender, spm, npm\n```js\nlet mergesort = require( \"@aureooms/js-mergesort\" ) ;\n```\n\n### bower\nThe script tag exposes the global variable `mergesort`.\n```html\n<script src=\"bower_components/@aureooms/js-mergesort/js/dist/mergesort.min.js\"></script>\n```\nAlternatively, you can use any tool mentioned [here](http://bower.io/docs/tools/).\n\n### jam\n```js\nrequire( [ \"@aureooms/js-mergesort\" ] , function ( mergesort ) { ... } ) ;\n```\n\n\n## Use\n\n```js\nlet array = require( \"@aureooms/js-array\" ) ;\nlet compare = require( \"@aureooms/js-compare\" ) ;\nlet merging = require( \"@aureooms/js-merging\" ) ;\n\n/** recursive mergesort */\nlet sort = mergesort.recursive( merging.tapemerge , array.copy ) ;\n\n/** iterative mergesort */\nlet sort = mergesort.iterative( merging.tapemerge , array.copy ) ;\n\n// for example\n\nlet random = require( \"@aureooms/js-random\" ) ;\n\nlet n = 10 ;\nlet A = array.alloc( n ) ;\nlet B = array.alloc( n ) ;\n\narray.iota( A , 0 , n , 0 ) ;\n\nA ; // [ 0 , 1 , ... , 9 ]\n\nrandom.shuffle( A , 0 , n ) ;\n\nsort( compare.increasing , A , 0 , n , B , 0 , n ) ;\n\nB ; // [ 0 , 1 , ... , 9 ]\n\n// or decreasing\n\nrandom.shuffle( A , 0 , n ) ;\n\nsort( compare.decreasing , A , 0 , n , B , 0 , n ) ;\n\nB ; // [ 9 , 8 , ... , 0 ]\n```\n\n## Reference\n\n  - http://sorting.at\n","maintainers":[{"name":"aureooms","email":"aurelien.ooms@gmail.com"}],"time":{"modified":"2022-06-12T14:52:08.570Z","created":"2017-02-16T12:02:30.195Z","7.1.0":"2017-02-16T12:02:30.195Z"},"homepage":"http://aureooms.github.io/js-mergesort/","keywords":["bricks","ender","javascript","js","mergesort","sorting"],"repository":{"url":"git+https://github.com/aureooms/js-mergesort.git","type":"git"},"author":{"name":"aureooms"},"bugs":{"url":"https://github.com/aureooms/js-mergesort/issues"},"license":"AGPL-3.0","readmeFilename":"README.md"}