a skiplist implementation in javascript
JavaScript
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.coveralls.yml
.editorconfig
.eslintrc
.gitignore
.travis.yml
README.md
index.js
package.json
test.js

README.md

A skiplist implementation in javascript

Because I wanted to understand skip lists.

npm Tests Coverage Status Dependencies

var assert = require('assert');
var Skiplist = require('skiplist');

var list = new Skiplist();
list.insert('cat', 'Cats are the best animal.');
list.insert('dog', 'Dogs are obviously inferior.');
list.insert('coati', 'Coatis have long tails.');

var value = list.match('cat');
assert(value === 'Cats are the best animal.');

var result = list.find('co');
assert(result.length === 2);
assert(result[0][0] === 'coati');
assert(result[1][0] === 'dog');

var wasRemoved = list.remove('dog');
assert(list.length() === 2);

See also

The Wikipedia entry on skip lists.

A Python implementation. Another one.