[System.Reflection.DefaultMember("Item")] public abstract class NBlocksRing<T> : INArray<T>, INClearable, INContains<T>, INCountable<T>, INIndexedMultiSet<T>, INIndexedSet<T>, INIterable<T>, INReverseIterable<T>, INSet<T>, INWritableIndexedSet<T>
[System.Reflection.DefaultMember("Item")] public abstract class NBlocksRing<T> : INArray<T>, INClearable, INContains<T>, INCountable<T>, INIndexedMultiSet<T>, INIndexedSet<T>, INIterable<T>, INReverseIterable<T>, INSet<T>, INWritableIndexedSet<T>
The advantage of the blocks ring is that the addition and removal of items at the head and the tail of the blocks ring is always performed in constant time. This makes this implementation suitable for decks and queues.
The disadvantage the blocks ring is that items in the middle are accessed at O(n) time, which is a common disadvantage of all chain based implementations.
The blocks ring is ever growing with a constant step that is equal to the block size with which it is initalized.
System.Object
Nevron.Nov.DataStructures.NBlocksRing<T>
Nevron.Nov.DataStructures.NBlocksDeque<T>
Nevron.Nov.DataStructures.NBlocksQueue<T>
Nevron.Nov.DataStructures.NBlocksStack<T>
Target Platforms: Windows 11, Windows 10, Windows 7, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later)