Deque
CircularBuffer-CSharp
Deque | CircularBuffer-CSharp | |
---|---|---|
2 | 4 | |
49 | 219 | |
- | - | |
10.0 | 5.9 | |
over 9 years ago | 3 months ago | |
C# | C# | |
MIT License | The Unlicense |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Deque
-
Stack/Queue where you can remove items from both ends?
Be careful with that Deque implementation. It's several years old and a bug I found in 2015 hasn't been fixed: https://github.com/tejacques/Deque/issues/8
CircularBuffer-CSharp
-
Best way to create a collection of data of fixed size with add or push functionality
There's also this implementation on GitHub which looks like it should meet your requirements.
-
What would be the best "Stack" data structure for large element counts and frequent access?
Really loved this idea. Never heard of the structure until now. Ultimately going with this implementation. Thanks for the help! https://github.com/joaoportela/CircularBuffer-CSharp
-
Stack/Queue where you can remove items from both ends?
Want to add. Your description also sounds like Circular Buffer. C# does not have a circular buffer implementation but you can use this https://github.com/joaoportela/CircularBuffer-CSharp
-
Is there a library with a fixed-sized collection, where newly added data is inserted at the start, but if the collection's capacity has reached the size, older data is discarded (but it doesn't move any of the elements around), and that you can also index to?
Ah thanks. I found one here, which looks quite nifty
What are some alternatives?
bitset - Go package implementing bitsets
.NET port of LMAX Disruptor - Port of LMAX Disruptor to .NET
golang-set - A simple, battle-tested and generic set type for the Go language. Trusted by Docker, 1Password, Ethereum and Hashicorp.
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
nutsdb - A simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set.
ArduinoMIDIController - A thingy that lets you connect potentiometers to an arduino, which spools data to a C# program which parses it into MIDI parameter values which can be sent to a DAW
Time-System - Time management system that gives the ability to rewind time