v/vlib/datatypes/README.md

30 lines
844 B
Markdown
Raw Normal View History

2021-12-23 17:57:15 +01:00
# datatypes
2021-12-23 17:57:15 +01:00
This module provides implementations of less frequently used, but still common
data types.
2021-12-23 17:57:15 +01:00
V's `builtin` module is imported implicitly, and has implementations for arrays,
maps and strings. These are good for many applications, but there are a plethora
of other useful data structures/containers, like linked lists, priority queues,
tries, etc, that allow for algorithms with different time complexities, which may
be more suitable for your specific application.
It is implemented using generics, that you have to specialise for the type of
your actual elements. For example:
```v
2021-12-26 15:01:36 +01:00
import datatypes
2021-12-23 17:57:15 +01:00
2021-12-26 15:01:36 +01:00
mut stack := datatypes.Stack<int>{}
2021-12-23 17:57:15 +01:00
stack.push(1)
println(stack)
```
## Currently Implemented Datatypes:
2021-12-23 17:23:04 +01:00
- [x] Linked list
- [x] Doubly linked list
2021-12-23 17:57:15 +01:00
- [x] Stack (LIFO)
- [x] Queue (FIFO)
- [x] Min heap (priority queue)
- [ ] ...