This project is read-only.
.Net 2 has introduced many annexes; among them the one I liked most is generics. Generics allows to created
abstraction over types and algorithms, which results into better type-safety and code-reusability. Classes and
algorithms written with generics are compact and easy to understand. Generics.Net is a well organized class
library which contains datastructures, algorithms, design patterns and other utilities in generic form.

Generics.Net, mainly structured into following namespaces.
  • Generic.Algorithms
    • Generic.Algorithms.Sorting
  • Generic.DataStructures
  • Generic.Patterns
  • Generics.Utils

Classes: Datastructures
IQueue<T>, IStack<T>, LinkedList<T>, LinkedListNode<T>, SinglyLinkedList<T>, 
SinglyLinkedListNode<T>,ListWithEvents<T>, Queue<T>, LinkedQueue<T>, 
SynchronizedQueue<T>, QueueWithEvents<T>, Stack<T>,SynchronizedStack<T>, 
StackWithEvents<T>, VisitableList<T>, RangedList<T>, Matrix<T>, 
CollectionBase<T>, BinaryTree<T>, BinaryTreeNode<T>

Classes: Algorithms
ISorter<T>, ISwapper<T>, ISortStragegy<T>, SortStrategy<T>, 
BubbleSortStrategy<T>, SelectSortStrategy<T>,InsertionSortStrategy<T>, 
MergeSortStrategy<T>, SelectSortStrategy<T>

Classes: Patterns
IComposite<T>, IVisitable<T>, Prototype<T>, Singleton<T>

Classes: Utils
ObjectComparer<T>, Operator<T>, GenericException<T>, ArgumentValidator<T> 

An Ongoing Project is an ongoing project. This is just a START, lost of works need to be done which involves
datastructure, algorithms, unit testing, examples and documentation. This project aim to become
primary generic library for .net development, so your ideas and contributions are required.

Post 0.3.0 Updates
  • Project added to source control
  • Implemented ShellSort in ShellSortStrategy<T>.
  • QuickSort in QuickSortStrategy<T>

Please not - Source code may not contain latest updates done after release.

- -
M. Aamir Maniar

Generic DataStructures:


Generic Algorithms:


Generic Patterns:


Generic Utilities:


Last edited Sep 21, 2007 at 5:07 AM by aamironline, version 39