حصريا .. أكواد البرامج المهمة والمنتشرة بالسي شارب
C# Source Code

- Program 2.1
- Program to compute
.
- Program 2.2
- Program to compute
using Horner's rule.
- Program 2.3
- Recursive program to compute n!.
- Program 2.4
- Linear search to find
.
- Program 2.5
- Program to compute
.
- Program 2.6
- Program to compute
.
- Program 2.7
- Program to compute
using Horner's rule.
- Program 2.8
- Program to compute
.
- Program 2.9
- Program to compute
using the closed-form expression.
- Program 3.1
- Program 2.2 again.
- Program 3.2
- Program to compute
for
.
- Program 3.3
- Non-recursive program to compute Fibonacci numbers.
- Program 3.4
- Recursive program to compute Fibonacci numbers.
- Program 3.5
- Bucket sort.
- Program 4.1
- DynamicArray fields.
- Program 4.2
- DynamicArray constructors.
- Program 4.3
- DynamicArray class Copy method.
- Program 4.4
- DynamicArray indexer.
- Program 4.5
- DynamicArray properties.
- Program 4.6
- MultiDimensionalArray fields.
- Program 4.7
- MultiDimensionalArray constructor.
- Program 4.8
- MultiDimensionalArray indexer.
- Program 4.9
- Matrix abstract class.
- Program 4.10
- DenseMatrix fields, constructor, and properties.
- Program 4.11
- DenseMatrix class times method.
- Program 4.12
- LinkedList fields and LinkedList.Element class.
- Program 4.13
- LinkedList default constructor.
- Program 4.14
- LinkedList class Purge method.
- Program 4.15
- LinkedList class properties.
- Program 4.16
- LinkedList class First and Last properties.
- Program 4.17
- LinkedList class Prepend method.
- Program 4.18
- LinkedList class Append method.
- Program 4.19
- LinkedList class Copy method.
- Program 4.20
- LinkedList class Extract method.
- Program 4.21
- LinkedList.Element class InsertAfter and InsertBefore methods.
- Program 5.1
- ComparableObject methods.
- Program 5.2
- ComparableObject comparison operators.
- Program 5.3
- More here
- Program 5.4
- ComparableChar class.
- Program 5.5
- ComparableInt32 class.
- Program 5.6
- ComparableDouble class.
- Program 5.7
- ComparableString class.
- Program 5.8
- More here
- Program 5.9
- Container interface.
- Program 5.10
- AbstractContainer fields and properties.
- Program 5.11
- Visitor interface.
- Program 5.12
- AbstractVisitor class.
- Program 5.13
- AbstractContainer class ToString method.
- Program 5.14
- SearchableContainer interface.
- Program 5.15
- AbstractSearchableContainer class.
- Program 5.16
- Association fields.
- Program 5.17
- Association constructors.
- Program 5.18
- Association methods.
- Program 6.1
- Stack interface.
- Program 6.2
- StackAsArray fields.
- Program 6.3
- StackAsArray class constructor and Purge methods.
- Program 6.4
- StackAsArray class Push and Pop Methods, Top property.
- Program 6.5
- StackAsArray class Accept method.
- Program 6.6
- StackAsArray class GetEnumerator method.
- Program 6.7
- StackAsLinkedList fields.
- Program 6.8
- StackAsLinkedList class constructor and Purge methods.
- Program 6.9
- StackAsLinkedList class Push and Pop Methods, Top property.
- Program 6.10
- StackAsLinkedList class Accept method.
- Program 6.11
- StackAsLinkedList class GetEnumerator method.
- Program 6.12
- Stack application-a single-digit, RPN calculator.
- Program 6.13
- Queue interface.
- Program 6.14
- QueueAsArray fields.
- Program 6.15
- QueueAsArray constructor and Purge methods.
- Program 6.16
- QueueAsArray class Enqueue and Dequeue methods, class Head property.
- Program 6.17
- QueueAsLinkedList fields.
- Program 6.18
- QueueAsLinkedList class constructor and Purge methods.
- Program 6.19
- QueueAsLinkedList class Enqueue and Dequeue methods, Head property.
- Program 6.20
- Queue application-breadth-first tree traversal.
- Program 6.21
- Deque interface.
- Program 6.22
- DequeAsArray class ``Head'' operations.
- Program 6.23
- DequeAsArray class ``Tail'' operations.
- Program 6.24
- DequeAsLinkedList class ``Head'' operations.
- Program 6.25
- DequeAsLinkedList class ``Tail'' operations.
- Program 7.1
- OrderedList interface.
- Program 7.2
- Cursor interface.
- Program 7.3
- OrderedListAsArray fields.
- Program 7.4
- OrderedListAsArray class constructor and Insert methods.
- Program 7.5
- OrderedListAsArray class IsMember and Find methods.
- Program 7.6
- OrderedListAsArray class Withdraw method.
- Program 7.7
- OrderedListAsArray.MyCursor class.
- Program 7.8
- OrderedListAsArray class FindPosition method and this[int] indexer.
- Program 7.9
- OrderedListAsArray.MyCursor class InsertAfter method.
- Program 7.10
- OrderedListAsArray.MyCursor class Withdraw method.
- Program 7.11
- OrderedListAsLinkedList fields.
- Program 7.12
- OrderedListAsLinkedList class constructor, Insert method, and this[int] indexer.
- Program 7.13
- OrderedListAsLinkedList class IsMember and Find methods.
- Program 7.14
- OrderedListAsLinkedList class Withdraw method.
- Program 7.15
- OrderedListAsLinkedList.MyCursor class.
- Program 7.16
- OrderedListAsLinkedList class FindPosition method
- Program 7.17
- OrderedListAsLinkedList.MyCursor class InsertAfter method.
- Program 7.18
- OrderedListAsLinkedList.MyCursor class Withdraw method.
- Program 7.19
- Term class.
- Program 7.20
- Polynomial abstract class.
- Program 7.21
- PolynomialAsOrderedList class.
- Program 7.22
- SortedList interface.
- Program 7.23
- SortedListAsArray class.
- Program 7.24
- SortedListAsArray class Insert method.
- Program 7.25
- SortedListAsArray class FindOffset method.
- Program 7.26
- SortedListAsArray class Find and FindPosition methods.
- Program 7.27
- SortedListAsArray class Withdraw method.
- Program 7.28
- SortedListAsLinkedList class.
- Program 7.29
- SortedListAsLinkedList class Insert method.
- Program 7.30
- Term methods.
- Program 7.31
- PolynomialAsSortedList class Plus method.
- Program 8.1
- ComparableInt32 class GetHashCode method.
- Program 8.2
- ComparableDouble class GetHashCode method.
- Program 8.3
- ComparableString class GetHashCode method.
- Program 8.4
- AbstractContainer class GetHashCode method.
- Program 8.5
- Association class GetHashCode method.
- Program 8.6
- HashTable interface.
- Program 8.7
- AbstractHashTable methods.
- Program 8.8
- ChainedHashTable fields.
- Program 8.9
- ChainedHashTable class constructor, Length property, and Purge methods.
- Program 8.10
- ChainedHashTable class Insert and Withdraw methods.
- Program 8.11
- ChainedHashTable class Find method.
- Program 8.12
- AbstractHashTable class LoadFactor method.
- Program 8.13
- ChainedScatterTable fields and ChainedScatterTable.Entry struct.
- Program 8.14
- ChainedScatterTable class constructor, Length, and Purge methods.
- Program 8.15
- ChainedScatterTable class Insert and Find methods.
- Program 8.16
- ChainedScatterTable class Withdraw method.
- Program 8.17
- OpenScatterTable fields, OpenScatterTable.EntryState enum, and OpenScatterTable.Entry struct.
- Program 8.18
- OpenScatterTable class constructor, Length property, and Purge methods.
- Program 8.19
- OpenScatterTable class C, FindUnoccupied, and Insert methods.
- Program 8.20
- OpenScatterTable Class FindMatch and Find methods.
- Program 8.21
- OpenScatterTable Class Withdraw method.
- Program 8.22
- OpenScatterTableV2 Withdraw method.
- Program 8.23
- Hash/scatter table application-counting words.
- Program 9.1
- Tree interface.
- Program 9.2
- AbstractTree class DepthFirstTraversal method.
- Program 9.3
- PrePostVisitor interface.
- Program 9.4
- AbstractPrePostVisitor class.
- Program 9.5
- PreOrder class.
- Program 9.6
- InOrder class.
- Program 9.7
- PostOrder class.
- Program 9.8
- AbstractTree class BreadthFirstTraversal method.
- Program 9.9
- AbstractTree class Accept method.
- Program 9.10
- AbstractTree class GetEnumerator method and the Enumerator class.
- Program 9.11
- AbstractTree Enumerator constructor.
- Program 9.12
- AbstractTree Enumerator class Current property, MoveNext and Reset methods.
- Program 9.13
- GeneralTree fields.
- Program 9.14
- GeneralTree class constructor and Purge methods.
- Program 9.15
- GeneralTree class Key property, GetSubtree, AttachSubtreeand DetachSubtree methods.
- Program 9.16
- NaryTree fields.
- Program 9.17
- NaryTree constructors.
- Program 9.18
- NaryTree methods.
- Program 9.19
- NaryTree methods.
- Program 9.20
- BinaryTree fields.
- Program 9.21
- BinaryTree constructors, Left and Right properties
- Program 9.22
- BinaryTree class Purge method.
- Program 9.23
- BinaryTree class DepthFirstTraversal method.
- Program 9.24
- BinaryTree class CompareTo method.
- Program 9.25
- Binary tree application-postfix to infix conversion.
- Program 9.26
- Binary tree application-printing infix expressions.
- Program 10.1
- SearchTree interface.
- Program 10.2
- BinarySearchTree class.
- Program 10.3
- BinarySearchTree class Key, Left and Right properties.
- Program 10.4
- BinarySearchTree class Find and Min methods.
- Program 10.5
- BinarySearchTree class Insert, AttachKey and Balance methods.
- Program 10.6
- BinarySearchTree class Withdraw method.
- Program 10.7
- AVLTree fields.
- Program 10.8
- AVLTree class constructor, AdjustHeight method, Height and BalanceFactor properties.
- Program 10.9
- AVLTree class LLRotation method.
- Program 10.10
- AVLTree class LRRotation method.
- Program 10.11
- AVLTree class Balance method.
- Program 10.12
- AVLTree class AttachKey method.
- Program 10.13
- AVLTree class DetachKey method.
- Program 10.14
- MWayTree fields.
- Program 10.15
- MWayTree class DepthFirstTraversal method.
- Program 10.16
- MWayTree class Find method (linear search).
- Program 10.17
- MWayTree class FindIndex and Find methods (binary search).
- Program 10.18
- MWayTree class Insert method.
- Program 10.19
- MWayTree class Withdraw method.
- Program 10.20
- BTree fields.
- Program 10.21
- BTree class Insert method.
- Program 10.22
- BTree class InsertPair method.
- Program 10.23
- Application of search trees-word translation.
- Program 11.1
- PriorityQueue interface.
- Program 11.2
- MergeablePriorityQueue interface.
- Program 11.3
- BinaryHeap fields.
- Program 11.4
- BinaryHeap class constructor and Purge methods.
- Program 11.5
- BinaryHeap class Enqueue method.
- Program 11.6
- BinaryHeap class Min property.
- Program 11.7
- BinaryHeap class DequeueMin method.
- Program 11.8
- LeftistHeap fields.
- Program 11.9
- LeftistHeap class Merge method.
- Program 11.10
- LeftistHeap class Enqueue method.
- Program 11.11
- LeftistHeap class Min property.
- Program 11.12
- LeftistHeap class DequeueMin method.
- Program 11.13
- BinomialTree class.
- Program 11.14
- BinomialTree class Add method.
- Program 11.15
- BinomialQueue fields.
- Program 11.16
- BinomialQueue class AddTree and RemoveTree methods.
- Program 11.17
- BinomialQueue class MinTree and Min methods.
- Program 11.18
- BinomialQueue class Merge method.
- Program 11.19
- BinomialQueue class Sum and Carry methods.
- Program 11.20
- BinomialQueue class Enqueue method.
- Program 11.21
- BinomialQueue class DequeueMin method.
- Program 11.22
- Event class.
- Program 11.23
- Application of priority queues-discrete event simulation.
- Program 12.1
- Set interface.
- Program 12.2
- AbstractSet class.
- Program 12.3
- SetAsArray fields.
- Program 12.4
- SetAsArray class constructor, Insert, Withdraw, and IsMember methods.
- Program 12.5
- SetAsArray class Union, Intersection and Difference methods.
- Program 12.6
- SetAsArray class Equals and IsSubset methods.
- Program 12.7
- SetAsBitVector fields.
- Program 12.8
- SetAsBitVector class constructor, Insert, Withdraw, and IsMember methods.
- Program 12.9
- SetAsBitVector class Union, Intersection and Difference methods.
- Program 12.10
- Multiset interface.
- Program 12.11
- MultisetAsArray class.
- Program 12.12
- MultisetAsArray class constructor, Insert, Withdraw, and IsMember methods.
- Program 12.13
- MultisetAsArray class Union, Intersection and Difference methods.
- Program 12.14
- MultisetAsLinkedList fields.
- Program 12.15
- MultisetAsLinkedList class Union method.
- Program 12.16
- MultisetAsLinkedList class Intersection method.
- Program 12.17
- Partition interface.
- Program 12.18
- PartitionAsForest and PartitionTree fields.
- Program 12.19
- PartitionAsForest constructors.
- Program 12.20
- PartitionAsForest class Find method.
- Program 12.21
- PartitionAsForest class simple Join method.
- Program 12.22
- PartitionAsForest class collapsing Find method.
- Program 12.23
- PartitionAsForest class union-by-size Join method.
- Program 12.24
- PartitionAsForest class union-by-rank Join method.
- Program 12.25
- Application of disjoint sets-finding equivalence classes.
- Program 14.1
- Solution interface.
- Program 14.2
- Solver interface.
- Program 14.3
- AbstractSolver class.
- Program 14.4
- DepthFirstSolver class.
- Program 14.5
- BreadthFirstSolver class.
- Program 14.6
- DepthFirstBranchAndBoundSolver class.
- Program 14.7
- Divide-and-conquer example-binary search.
- Program 14.8
- Divide-and-conquer Example-computing Fibonacci numbers.
- Program 14.9
- Divide-and-conquer example-merge sorting.
- Program 14.10
- Dynamic programming example-computing generalized Fibonacci numbers.
- Program 14.11
- Dynamic programming example-computing Binomial coefficients.
- Program 14.12
- Dynamic programming example-typesetting a paragraph.
- Program 14.13
- RandomNumberGenerator class.
- Program 14.14
- RandomVariable interface.
- Program 14.15
- SimpleRV class.
- Program 14.16
- UniformRV class.
- Program 14.17
- ExponentialRV class.
- Program 14.18
- Monte Carlo program to compute
.
- Program 15.1
- Sorter interface.
- Program 15.2
- AbstractSorter class.
- Program 15.3
- StraightInsertionSorter class Sort method.
- Program 15.4
- BinaryInsertionSorter class Sort method.
- Program 15.5
- BubbleSorter class Sort method.
- Program 15.6
- AbstractQuickSorter fields.
- Program 15.7
- AbstractQuickSorter class recursive Sort method.
- Program 15.8
- AbstractQuickSorter class Sort method.
- Program 15.9
- MedianOfThreeQuickSorter class SelectPivot method.
- Program 15.10
- StraightSelectionSorter class Sort method.
- Program 15.11
- HeapSorter class PercolateDown method.
- Program 15.12
- HeapSorter class BuildHeap method.
- Program 15.13
- HeapSorter class Sort method.
- Program 15.14
- TwoWayMergeSorter fields.
- Program 15.15
- TwoWayMergeSorter class Merge method.
- Program 15.16
- TwoWayMergeSorter class Sort methods.
- Program 15.17
- BucketSorter class fields and constructor.
- Program 15.18
- BucketSorter class Sort method.
- Program 15.19
- RadixSorter fields.
- Program 15.20
- RadixSorter class Sort method.
- Program 16.1
- Vertex interface.
- Program 16.2
- Edge interface.
- Program 16.3
- Graph interface.
- Program 16.4
- Digraph interface.
- Program 16.5
- AbstractGraph, GraphVertex, and GraphEdge classes.
- Program 16.6
- GraphAsMatrix fields and constructor.
- Program 16.7
- GraphAsLists fields and constructor.
- Program 16.8
- AbstractGraph class DepthFirstTraversal method.
- Program 16.9
- AbstractGraph class BreadthFirstTraversal method.
- Program 16.10
- AbstractGraph class TopologicalOrderTraversal method.
- Program 16.11
- AbstractGraph class IsConnected property.
- Program 16.12
- AbstractGraph class IsConnected property.
- Program 16.13
- AbstractGraph class IsCyclic property.
- Program 16.14
- GraphAlgorithms Entry struct.
- Program 16.15
- Dijkstra's algorithm.
- Program 16.16
- Floyd's algorithm.
- Program 16.17
- Prim's algorithm.
- Program 16.18
- Kruskal's algorithm.
- Program 16.19
- Critical path analysis-computing earliest event times.
- Program 16.20
- Critical path analysis-finding the critical paths.
- Program A.1
- Example of pass-by-value parameter passing.
- Program A.2
- Example of pass-by-reference parameter passing.
- Program A.3
- Parameter passing example: passing reference types.
- Program A.4
- Complex class fields, Real and Imag properties.
- Program A.5
- Complex constructors.
- Program A.6
- Complex class R and Theta properties.
- Program A.7
- Complex class operators.
- Program A.8
- Person class.
- Program A.9
- Parent class.
- Program A.10
- GraphicsPrimitives interface.
- Program A.11
- Point struct.
- Program A.12
- GraphicalObject class.
- Program A.13
- Circle class.
- Program A.14
- Rectangle class.
- Program A.15
- Square class.
- Program A.16
- Using exceptions in C#.