Skip to content
Bubble Sort implementation with O(n^2) complexity.
JavaScript
Branch: master
Clone or download
Latest commit 0cdadd1 Feb 26, 2016
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.editorconfig
.gitattributes
.gitignore
.jshintrc Add config files Jan 4, 2015
.travis.yml
.yo-rc.json
Gruntfile.js
README.md
index.js
package.json

README.md

NPM version Build Status Dependency Status

Bubble Sort

Bubble Sort implementation wth O(n^2) complexity based on JavaScript Algorithms.

Bubble sort is a simple sorting algorithm that repeatedly steps through the list to be sorted, compares each pair of adjacent items and swaps them if they are in the wrong order.

Install

$ npm install --save bubblesort

Usage

var bubblesort = require('bubblesort');

// Ascending order

bubblesort([3,1,4,1,5,9,2,6,5,4]);
// => [1,1,2,3,4,4,5,5,6,9]

bubblesort([9,2,8,6,1,3]);
// => [1,2,3,6,8,9]

bubblesort([5,2,4,6,1,3]);
// => [1,2,3,4,5,6]

// Descending order

function comparator(a, b) { return b - a; }

bubblesort([5,2,2,6,1,3], comparator);
// => [6,5,3,2,2,1]

bubblesort([0,0,0,0,0,-1], comparator);
// => [0,0,0,0,0,-1]

// Ascending sort arrays of objects

var people = [
  {name: 'Sindre', age: 30, place: 2},
  {name: 'Passy', age: 25, place: 1},
  {name: 'Stephen', age: 40, place: 4},
  {name: 'Matt', age: 35, place: 3}
];

function comparePeople(a, b) { return a.age - b.age };

bubblesort(people, comparePeople);
/*
=> [
  {"name": 'Passy', "age": 25, "place": 1},
  {"name": 'Sindre', "age": 30, "place": 2},
  {"name": 'Matt', "age": 35, "place": 3},
  {"name": 'Stephen', "age": 40, "place": 4}
]
*/

License

MIT © Addy Osmani

You can’t perform that action at this time.