cl-containers
cl-containers adds binary search trees, red-black trees, sparse arrays, and other useful containers.

You can find more information at the cl-containers home page. It's also available in Quicklisp.

The cl-containers package is released under the MIT style license. It requires the following other packages: moptilities and metatilities-base.

Some of the classes included:

  • abstract-container (Inherited by all container classes, a good place to put pesky superclasses that you need)
  • abstract-queue
  • alist-container
  • array-container
  • associative-container
  • bag-container
  • basic-queue
  • biassociative-container-mixin
  • binary-search-tree
  • bounded-vector-container
  • container-node-mixin
  • contents-as-array-mixin
  • contents-as-hashtable-mixin
  • dlist-container A double-linked list
  • dlist-container-node A double-linked list node
  • filtered-iterator-mixin
  • flexible-vector-container
  • forward-iterator
  • heap-container
  • i-know-my-node-mixin
  • k-best-heap-container
  • keyed-associative-container
  • list-iterator
  • many-child-node
  • package-container
  • quad-tree
  • red-black-tree
  • rooted-tree-container (Base class of all trees with roots.)
  • sorted-dlist-container (A persistently sorted double-linked list)
  • stable-associative-container
  • stack-container
  • test-container-mixin
  • union-find-container
  • vector-container

data structure