Data Structure Template Library (DSTLib for us brazilians funny bois) is a collection of headers and libraries developed in C containing all the important Abstract Data Types and its operations, eg:
- List
- Simply linked
- Doubly linked
- Circular
- Stack
- Queue
- Priority Queue
- Tree (New)
- Binary tree
- Red-Black Tree
- B-Tree
Operations:
- get() – Return an element from the list at any given position.
- push() – Insert an element at any position of the list.
- remove() – Remove the first occurrence of any element from a non-empty list.
- removeAt() – Remove the element at a specified location from a non-empty list.
- replace() – Replace an element at any position by another element.
- size() – Return the number of elements in the list.
- empty() – Return true if the list is empty, otherwise return false.
Operations:
[X] push() – Insert an element at one end of the stack called top. [X] pop() – Remove and return the element at the top of the stack, if it is not empty.
- peek() – Return the element at the top of the stack without removing it, if the stack is- not empty.
- size() – Return the number of elements in the stack.
- empty() – Return true if the stack is empty, otherwise return false.
Operations:
- enqueue() – Insert an element at the end of the queue.
- dequeue() – Remove and return the first element of the queue, if the queue is not empty.
- peek() – Return the element of the queue without removing it, if the queue is not empty.
- size() – Return the number of elements in the queue.
- empty() – Return true if the queue is empty, otherwise return false.
Operations:
- insert();
- traverse();
- pre_order;
- in_order;
- post_order;
- search();
- size();
- find
- biggest_element();
- smallest_element();
- delete_node();
- any_node;
- biggest;
- smallest;
- delete_tree();
- show_leaf();
- Traversal - inOrder();
- insert
- SplitChild();
I've decided to implement some (usually asked) operations, like:
- concatenate() - Joins two list end-to-end.
- advance() - Advance n times in a list returning the current node.
- shuffle() - Shuffles a given list to a randomic order.
- reverse() - (Is it called reverse or inverse?) Makes a list go backwards ?.
- unique() - Deletes repeated values.
- insert() - (May appear with other name) Insert a value n times.
- swap() - Swaps two values (in order of appearence).
[Raw C/C++] (https://www.cplusplus.com/) - this is a raw application for learning purposes, so I limited myself to use only the language itself and what it conveys in its STL form.
This is a test application. I do not responsabilize for any damage or harm caused by the use of this Library in your projects.
Manuel|Beta4rrio He had the idea first, I just picked the better name.