Data Structures implemented:
- Vector
- List
- Stack (list and vector implementation)
- Queue (list and vector implementation)
- Binary Tree (linked nodes and vector implementation)
- Binary Search Tree (linked nodes implementation)
- Matrix (Vector and Column Sparse Row implementation)
- Graph : Coming soon
Vector
- Default constructor
- Specific constructor with size as parameter
- Specific constructor with linear container as parameter
- Copy and move constructor
- Destructor
- Copy and move assignment
- Comparison operators
- Resize
- Clear
- Front
- Back
- Operator[]
- MapPreOrder, MapPostOrder
- FoldPreOrder, FoldPostOrder
List
- Default constructor
- Specific constructor with linear container as parameter
- Copy and move constructor
- Destructor
- Copy and move assignment
- Comparison operators
- InsertAtFront (copy and move)
- InsertAtBack (copy and move)
- RemoveFromFront
- FrontNRemove
- Clear
- Front
- Back
- Operator[]
- MapPreOrder, MapPostOrder
- FoldPreOrder, FoldPostOrder
Stack
- Default constructor
- Specific constructor with linear container as parameter
- Copy and move constructor
- Destructor
- Copy and move assignment
- Comparison operators
- Push (copy and move)
- Top
- TopNPop
- Pop
- Clear
Queue
- Default constructor
- Specific constructor with linear container as parameter
- Copy and move constructors
- Destructor
- Copy and move assignment
- Comparison operators
- Enqueue (copy and move)
- Dequeue
- HeadNDequeue
- Head
- Clear
Binary Tree Node
- Constructor
- Destructor
- Copy and move assignment
- Comparison operators
- Element (const and non const version)
- HasLeftChild, HasRightChild, IsLeaf
- LeftChild, RightChild
Binary Tree
- Default constructor
- Specific constructor with linear container as parameter
- Copy and move constructor
- Destructor
- Copy and move assignment
- Comparison operators
- Root
- MapPreOrder, MapPostOrder
- FoldPreOrder, FoldPostOrder
Iterators over Binary Trees: Breadth first, Pre Order, In Order, Post Order
- Specific onstructor with binary tree as parameter
- Specific constructor with iterator as parameter
- Copy and move constructor
- Destructor
- Copy and move assignment
- Comparison operators
- operator*
- operator++
- Terminated
Binary Search Tree
- Default constructor
- Specific constructor with linear container as parameter
- Copy and move constructor
- Destructor
- Copy and move assignment
- Comparison operators
- Insert (copy and move)
- Remove
- Min
- MinNRemove
- RemoveMin
- Max
- MaxNRemove
- RemoveMax
- Predecessor
- PredecessorNRemove
- RemovePredecessor
- Successor
- SuccessorNRemove
- RemoveSuccessor
- Exists
- MapPreOrder, MapPostOrder
- FoldPreOrder, FoldPostOrder
Matrix
- Constructor (parameters depend on type of implementation)
- Copy and move constructor
- Destructor
- Copy and move assignment
- Comparison operators
- RowNumber, ColumnNumber
- RowResize
- ColumnResize
- ExistsCell
- Operator() (const and non const version)
- Clear
- MapPreOrder, MapPostOrder
- FoldPreOrder, FoldPostOrder