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  }

◆ ~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  }
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:
queue::queueFront
node< Kind > * queueFront
Definition: queue.h:83
node
Definition: avltree.cpp:13
queue::isEmptyQueue
bool isEmptyQueue()
Definition: queue.h:42
std::cout
std::endl
T endl(T... args)
queue::queueRear
node< Kind > * queueRear
Definition: queue.h:84