Data Structures and Algorithms
with Object-Oriented Design Patterns in C# |
Program defines the constructor for the MultisetAsArray class as well as the three basic operations--Insert, IsMember, and Withdraw. The constructor takes a single argument, , and initializes an array of length N counters all to zero. The running time of the constructor is O(N).
Program: MultisetAsArray class constructor, Insert, Withdraw, and IsMember methods.
To insert an item, we simply increase the appropriate counter; to delete an item, we decrease the counter; and to test whether an item is in the set, we test whether the corresponding counter is greater than zero. In all cases the operation can be done in constant time.