Algorithms_in_C++ 1.0.0
Set of algorithms implemented in C++.
queue< Kind > Class Template Reference

#include <queue.h>

Public Member Functions

void display ()
 
 queue ()
 
 ~queue ()
 
bool isEmptyQueue ()
 
void enQueue (Kind item)
 
Kind front ()
 
void deQueue ()
 
void clear ()
 

Private Attributes

node< Kind > * queueFront
 
node< Kind > * queueRear
 
int size
 

Detailed Description

template<class Kind>
class queue< Kind >

Definition of the queue class

Constructor & Destructor Documentation

◆ queue()

template<class Kind >
queue< Kind >::queue ( )
inline

Default constructor

32 {
33 queueFront = NULL;
34 queueRear = NULL;
35 size = 0;
36 }
node< Kind > * queueFront
Definition: queue.h:83
node< Kind > * queueRear
Definition: queue.h:84

◆ ~queue()

template<class Kind >
queue< Kind >::~queue ( )
inline

Destructor

39{}

Member Function Documentation

◆ clear()

template<class Kind >
void queue< Kind >::clear ( )
inline

Clear queue

80{ queueFront = NULL; }

◆ deQueue()

template<class Kind >
void queue< Kind >::deQueue ( )
inline

Remove the top element of the queue

67 {
68 node<Kind> *temp;
69 if (!isEmptyQueue()) {
70 temp = queueFront;
71 queueFront = queueFront->next;
72 delete temp;
73 size--;
74 } else {
75 std::cout << "Queue is empty !" << std::endl;
76 }
77 }
bool isEmptyQueue()
Definition: queue.h:42
T endl(T... args)
Definition: avltree.cpp:13
Here is the call graph for this function:

◆ display()

template<class Kind >
void queue< Kind >::display ( )
inline

Show queue

20 {
21 node<Kind> *current = queueFront;
22 std::cout << "Front --> ";
23 while (current != NULL) {
24 std::cout << current->data << " ";
25 current = current->next;
26 }
28 std::cout << "Size of queue: " << size << std::endl;
29 }
Here is the call graph for this function:

◆ enQueue()

template<class Kind >
void queue< Kind >::enQueue ( Kind  item)
inline

Add new item to the queue

45 {
46 node<Kind> *newNode;
47 newNode = new node<Kind>;
48 newNode->data = item;
49 newNode->next = NULL;
50 if (queueFront == NULL) {
51 queueFront = newNode;
52 queueRear = newNode;
53 } else {
54 queueRear->next = newNode;
55 queueRear = queueRear->next;
56 }
57 size++;
58 }

◆ front()

template<class Kind >
Kind queue< Kind >::front ( )
inline

Return the first element of the queue

61 {
62 assert(queueFront != NULL);
63 return queueFront->data;
64 }

◆ isEmptyQueue()

template<class Kind >
bool queue< Kind >::isEmptyQueue ( )
inline

Determine whether the queue is empty

42{ return (queueFront == NULL); }

Member Data Documentation

◆ queueFront

template<class Kind >
node<Kind>* queue< Kind >::queueFront
private

Pointer to the front of the queue

◆ queueRear

template<class Kind >
node<Kind>* queue< Kind >::queueRear
private

Pointer to the rear of the queue


The documentation for this class was generated from the following file: