next up previous contents index
Next: Node Partitions ( node_partition Up: Graphs and Related Data Previous: Sets of Edges (

     
Lists of Nodes ( node_list )

Definition

An instance of the data type node_list is a doubly linked list of nodes. It is implemented more efficiently than the general list type list <node > (Linear Lists). However, it can only be used with the restriction that every node is contained in at most one node_list.

#include < LEDA/node _list.h >

Creation

node_list L introduces a variable L of type node_list and initializes it with the empty list.

Operations

void  L.append(node v) appends v to list L.
void  L.push(node v) adds v at the front of L.
void  L.insert(node v, node w) inserts v after w into L.
Precondition: w in L.
node L.pop() deletes the first node from L and returns it.
Precondition: L is not empty.
void  L.del(node v) deletes v from L.
Precondition: v in L.
bool L.member(node v) returns true if v in L and false otherwise.
bool L(node v) returns true if v in L and false otherwise.
node L.head() returns the first node in L (nil if L is empty).
node L.tail() returns the last node in L (nil if L is empty).
node L.succ(node v) returns the successor of v in L.
Precondition: v in L.
node L.pred(node v) returns the predecessor of v in L.
Precondition: v in L.
node L.cyclic_succ(node v) returns the cyclic successor of v in L.
Precondition: v in L.
node L.cyclic_pred(node v) returns the cyclic predecessor of v in L.
Precondition: v in L.
bool L.empty() returns true if L is empty and false otherwise.
void  L.clear() makes L the empty list.


forall(x, L) { ``the elements of L are successively assigned to x'' }


next up previous contents index
Next: Node Partitions ( node_partition Up: Graphs and Related Data Previous: Sets of Edges (
LEDA research project
1999-04-23