Common Data Types and Algorithms Library

The purpose of this library is to provide very efficient implementations of common data structures and common algorithms that operate on them.

The following data structures are part of this library

  • Arrays
  • Vectors
  • Doubly-Linked Lists
  • ”Compound” Doubly-Linked Lists (multiple entries per link)
  • Binary Trees

These have functions provided to implement

  • Stacks
  • Queues
  • Heaps
  • AVL Trees
  • Red-Black Trees
  • Maps

Coding Progress

/----------------+------+----------+------------+----------\
|Function |Vector|LinkedList|CompoundList|BinaryTree|
|----------------+------+----------+------------+----------|
|new |Done |
|delete |Done |
|add |Done |
|addFirst |Done |
|addLast |Done |
|addSorted |
|addUnordered |Done |
|addAll |
|addAfter |
|addBefore |
|remove |Done |
|removeFirst |Done |
|removeLast |Done |
|removeValue |Done |
|removeUnordered |
|removeAddress |
|removeDuplicates|
|get |Done |
|getFirst |Done |
|getLast |Done |
|set |Done |
|setFirst |
|setLast |
|indexOf |Done |
|lastIndexOf |Done |
|addressOf |
|clear |Done |
|copy |Done |
|equals |Done |
|----------------+-----------------------------------------|
|sort |
|binarySearch |Done |
|----------------+-----------------------------------------|
|min |
|max |
|sum |
|----------------+-----------------------------------------|
|getValue |