OOStuBS - Technische Informatik II (TI-II)
2.4
Hauptseite
Zusätzliche Informationen
Klassen
Dateien
Auflistung der Dateien
Datei-Elemente
src
common
queue.cc
gehe zur Dokumentation dieser Datei
1
#include "
common/queue.h
"
2
#include "
common/null.h
"
3
4
Queue::Element::Element
() : next(
NULL
){}
5
6
Queue::Queue
() :
mHead
(
NULL
),
mTail
(
NULL
){}
7
8
void
Queue::push_back
(
Element
& e){
9
if
(!
mHead
){
10
mHead
=&e;
11
mTail
=&e;
12
}
else
{
13
mTail
->
next
=&e;
14
mTail
=&e;
15
}
16
}
17
18
Queue::Element
*
Queue::pop_front
(){
19
if
(!
mHead
)
20
return
NULL
;
21
Element
* temp=
mHead
;
22
mHead
=temp->
next
;
23
temp->
next
=
NULL
;
24
return
temp;
25
}
26
27
Queue::Element
*
Queue::peek_front
()
const
{
28
return
mHead
;
29
}
30
31
bool
Queue::remove
(
Queue::Element
& e){
32
Element
* curr=
mHead
;
33
Element
* preCurr=
NULL
;
34
while
(curr){
35
if
(curr==&e){
36
if
(preCurr)
37
preCurr->
next
=curr->
next
;
38
else
39
mHead
=curr->
next
;
40
curr->
next
=
NULL
;
41
return
true
;
42
}
else
{
43
preCurr=curr;
44
curr=curr->
next
;
45
}
46
}
47
return
false
;
48
}
49
50
bool
Queue::empty
()
const
{
51
return
!
mHead
;
52
}
Erzeugt am Mon Jun 30 2014 07:13:28 für OOStuBS - Technische Informatik II (TI-II) von
1.8.1.2