|
|
This class implements the Bag datatype template.
Bag () |
Constructor.
~Bag () |
Destructor.
bool addHead (T element) |
Add element to head of bag.
Parameters:
element | Element to be added. |
Returns: true, if element has been added; false, if not.
bool addTail (T element) |
Add element to tail of bag.
Parameters:
element | Element to be added. |
Returns: true, if element has been added; false, if not.
void remove (T element) |
Remove element from bag.
Parameters:
element | Element to be removed. |
inline void removeHead () |
Remove first element from bag.
inline void removeTail () |
Remove last element from bag.
inline bool contains (const T& element) |
Check, if bag contains an element.
Parameters:
element | Element to be checked to be in the bag. |
inline cardinal getCount () |
Get number of elements in the bag.
Returns: Number of elements.
inline bool first (T& element) |
Get first element. If true is returned, the given reference will be a reference to the element.
Parameters:
element | Reference to hold the element's reference. |
Returns: true, if the reference is valid.
inline bool last (T& element) |
Get last element. If true is returned, the given reference will be a reference to the element.
Parameters:
element | Reference to hold the element's reference. |
Returns: true, if the reference is valid.
inline bool next (T& element) |
Get next element. If true is returned, the given reference will be a reference to the element.
Parameters:
element | Reference to hold the element's reference. |
Returns: true, if the reference is valid.
inline bool prev (T& element) |
Get previous element. If true is returned, the given reference will be a reference to the element.
Parameters:
element | Reference to hold the element's reference. |
Returns: true, if the reference is valid.
BagNode<T>* findNode (const T& element) |
Get BagNode for an element.
Parameters:
element | Element. |
Returns: Pointer to BagNode or NULL, if element is not in the bag.
void removeNode (BagNode<T>* node) |
Remove a BagNode.
Parameters:
node | BagNode to be removed. |