| 1234567891011121314151617181920 |
- GENERIC DEFINITION MODULE DList (T : TYPE);
- TYPE
- Node = POINTER TO NodeRec;
- NodeRec = RECORD
- val : T;
- prev, next : Node;
- END;
- List = RECORD
- head, tail : Node;
- count : INTEGER;
- END;
- PROCEDURE Init(VAR l : List);
- PROCEDURE Append(VAR l : List; v : T);
- PROCEDURE Prepend(VAR l : List; v : T);
- PROCEDURE Count(VAR l : List) : INTEGER;
- PROCEDURE Get(VAR l : List; i : INTEGER) : T;
- PROCEDURE First(VAR l : List) : T;
- PROCEDURE Last(VAR l : List) : T;
- PROCEDURE Reverse(VAR l : List);
- END DList.
|