FifoQueueT Class |
Compared to the standard generic Queue, this queue allows access to queue elements throught the [P:Item(int)] property of the IList{T} interface. It implements the IList{T} interface, but does not support in-queue modifications, so methods like Remove and Insert throws NotSupportedException.
Namespace: DHI.Mike1D.Generic.Collections
public class FifoQueue<T> : IList<T>, ICollection<T>, IEnumerable<T>, IEnumerable
The FifoQueueT type exposes the following members.
Name | Description | |
---|---|---|
FifoQueueT |
Initializes a new instance of the FifoQueue{T} class that
is empty and has the default initial capacity.
|
Name | Description | |
---|---|---|
Array |
An array representation of the current content of the queue.
| |
Count |
Gets the number of elements contained in the FifoQueue{T}.
| |
Item |
Gets/sets the element at the specified position in the FifoQueue{T}.
|
Name | Description | |
---|---|---|
Clear |
Removes all objects from the FifoQueue{T}.
| |
Contains | Determines whether the ICollectionT contains a specific value. | |
CopyTo | ||
Dequeue |
Removes and returns the object at the beginning of the FifoQueue{T}.
| |
Enqueue |
Adds an object to the end of the FifoQueue{T}.
| |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetEnumerator |
Returns an enumerator that iterates through the FifoQueue{T}.
| |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
IndexOf | Determines the index of a specific item in the IListT. | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
Peek |
Returns the object at the beginning of the FifoQueue{T} without removing it.
| |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Name | Description | |
---|---|---|
BinarySearchT(T) | Overloaded.
Searches the entire sorted IListT for an element
and returns the zero-based index of the element.
(Defined by GenericExtensions.)If the key is not found, a negative number is returned, which can be intepreted as the bitwise complement of the interval of indices that the key is in between, i.e. list[interval-1] < key < list[interval] | |
BinarySearchT(FuncT, Int32) | Overloaded.
Searches the entire sorted IListT for an element using the provided
comparer and returns the zero-based index of the element.
(Defined by GenericExtensions.)This differs from the "ordinary" binary search in allowing a comparer delegate that defines whether an item is found (returning 0), whether the item in the list is before (<0) or after (>0) that knows how to compare a class with its key. Example, if the list contains classes of type T having an id number and the class is sorted on that id, then the keySelector returns the id number for that class. Examples
If having a list of doubles, to find 4.5 in the list, use:
int index = list.BinarySearch(d => d.CompareTo(4.5)) | |
BinarySearchT(T, IComparerT) | Overloaded.
Searches the entire sorted IListT for an element using the provided
comparer and returns the zero-based index of the element.
(Defined by GenericExtensions.)If the key is not found, a negative number is returned, which can be intepreted as the bitwise complement of the interval of indices that the key is in between, i.e. list[interval-1] < key < list[interval] | |
BinarySearchT, TKey(FuncT, TKey, TKey) | Overloaded.
Searches the entire sorted IListT for an element
and returns the zero-based index of the element.
(Defined by GenericExtensions.)If the key is not found, a negative number is returned, which can be intepreted as the bitwise complement of the interval of indices that the key is in between, i.e. list[interval-1] < key < list[interval] This differs from the "ordinary" binary search in allowing a keySelectorcomparer that knows how to compare a class with its key. Example, if the list contains classes of type T having an id number and the class is sorted on that id, then the keySelector returns the id number for that class. | |
BinarySearchT, TKey(FuncT, TKey, TKey, IComparerTKey) | Overloaded.
Searches the entire sorted IListT for an element using the provided
comparer and returns the zero-based index of the element.
(Defined by GenericExtensions.)If the key is not found, a negative number is returned, which can be intepreted as the bitwise complement of the interval of indices that the key is in between, i.e. list[interval-1] < key < list[interval] This differs from the "ordinary" binary search in allowing a keySelectorcomparer that knows how to compare a class with its key. Example, if the list contains classes of type T having an id number and the class is sorted on that id, then the keySelector returns the id number for that class. | |
SortT | Overloaded.
Sorts the elements in the entire List{T} using the default comparer.
(Defined by GenericExtensions.)A quick sort algorithm is used. Quick sort is a un-stable sort algorithm i.e. if two elements are equal their order may not be preserved. If the provided IList is either an array or a list, the build in sorting method is used (also quick sort). | |
SortT(IComparerT) | Overloaded.
Sorts the elements in the entire List{T} using the provided comparer.
(Defined by GenericExtensions.)A quick sort algorithm is used. Quick sort is a un-stable sort algorithm i.e. if two elements are equal their order may not be preserved. If the provided IList is either an array or a list, the build in sorting method is used (also quick sort). | |
SortStableT | Overloaded. (Defined by GenericExtensions.) | |
SortStableT(IComparerT) | Overloaded.
Sorts the elements in the entire List{T} using the provided comparer.
(Defined by GenericExtensions.)A merge sort algorithm is used. merge sort is a stable sort algorithm i.e. if two elements are equal their order are preserved. | |
SortStableT(ComparisonT) | Overloaded.
Sorts the elements in the entire List{T} using the provided comparer.
(Defined by GenericExtensions.)A merge sort algorithm is used. merge sort is a stable sort algorithm i.e. if two elements are equal their order are preserved. |
This class implements a generic queue as a circular array. Objects stored in a FifoQueue{T} are inserted at one end and removed from the other.
The capacity of a FifoQueue{T} is the number of elements the FifoQueue{T} can hold. As elements are added to a FifoQueue{T}, the capacity is automatically increased as required by reallocating the internal array
FifoQueue{T} accepts null as a valid value for reference types and allows duplicate elements.