blob: d573490d2d3d1152089aab6761bdb2a17eff7569 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
generic
type T_Data is private;
package Queue is
type T_List_Node;
type T_List is access all T_List_Node;
type T_List_Node is record
data: T_Data;
next: T_List;
end record;
type T_Queue is record
front: T_List := null;
back: T_List := null;
end record;
procedure Enqueue(queue: in out T_Queue; data: T_Data);
procedure Dequeue(queue: in out T_Queue);
function Length(queue: T_Queue) return Natural;
private
function Empty(queue: T_Queue) return Boolean;
end Queue;
|