labrab26 -> queue.h

 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream.h>
template< class Type >
class QueueItem
{
protected:
QueueItem< Type> * next;
QueueItem< Type> * prev;
Type data;
public:
QueueItem();
QueueItem(Type data1);
QueueItem< Type> * Add(QueueItem< Type> * item1);
QueueItem< Type> * OrdAdd(QueueItem< int> * item1);
QueueItem< Type> * Insert(QueueItem< Type> * item1);
QueueItem< Type> * OrderlyInsert(QueueItem< Type> * item1);
QueueItem< Type> * First()
{
if (prev)
return prev->First();
else
return this;
}
QueueItem< Type> * Delete()
{
if (next)
{
if (next->next)
{
next->Delete();
}
delete next;
}
}
void Print()
{
cout << data << ' ';
if (next)
next->Print();
}
};