SSJ
3.3.1
Stochastic Simulation in Java
|
An implementation of EventList using a splay tree [218] . More...
Public Member Functions | |
boolean | isEmpty () |
Returns true if and only if the event list is empty (no event is scheduled). More... | |
void | clear () |
Empties the event list, i.e., cancels all events. | |
void | add (Event ev) |
Adds a new event in the event list, according to the time of ev . More... | |
void | addFirst (Event ev) |
Adds a new event at the beginning of the event list. More... | |
void | addBefore (Event ev, Event other) |
Same as add, but adds the new event ev immediately before the event other in the list. More... | |
void | addAfter (Event ev, Event other) |
Same as add, but adds the new event ev immediately after the event other in the list. More... | |
Event | getFirst () |
Returns the first event in the event list. More... | |
Event | getFirstOfClass (String cl) |
Returns the first event of the class cl (a subclass of Event ) in the event list. More... | |
Iterator< Event > | iterator () |
ListIterator< Event > | listIterator () |
Returns a list iterator over the elements of the class Event in this list. More... | |
boolean | remove (Event ev) |
Removes the event ev from the event list (cancels this event). More... | |
Event | removeFirst () |
Removes the first event from the event list (to cancel or execute this event). More... | |
String | toString () |
Package Functions | |
public< E extends Event > E | getFirstOfClass (Class< E > cl) |
Returns the first event of the class E (a subclass of Event ) in the event list. More... | |
An implementation of EventList using a splay tree [218] .
This tree is like a binary search tree except that when it is modified, the affected node is moved to the top. The rebalancing scheme is simpler than for a red black tree and can avoid the worst case of the linked list. This gives a \(O(\log(n))\) average time for adding or removing an event, where \(n\) is the size of the event list.
void add | ( | Event | ev | ) |
Adds a new event in the event list, according to the time of ev
.
If the event list contains events scheduled to happen at the same time as ev
, ev
must be added after all these events.
ev | event to be added |
Implements EventList.
void addFirst | ( | Event | ev | ) |
Adds a new event at the beginning of the event list.
The given event ev
will occur at the current simulation time.
ev | event to be added |
Implements EventList.
Event getFirst | ( | ) |
Returns the first event in the event list.
If the event list is empty, returns null
.
null
if the list is empty Implements EventList.
Event getFirstOfClass | ( | String | cl | ) |
|
package |
boolean isEmpty | ( | ) |
Returns true
if and only if the event list is empty (no event is scheduled).
true
if the event list is empty Implements EventList.
ListIterator<Event> listIterator | ( | ) |
boolean remove | ( | Event | ev | ) |
Removes the event ev
from the event list (cancels this event).
Returns true
if and only if the event removal has succeeded.
ev | event to be removed |
true
if the event was successfully removed from the list Implements EventList.
Event removeFirst | ( | ) |
Removes the first event from the event list (to cancel or execute this event).
Returns the removed event. If the list is empty, then null
is returned.
null
if the list is empty Implements EventList.