Files
C-Plus-Plus/data_structures/queue/queue.h
2020-06-06 12:25:51 -04:00

32 lines
1009 B
C++

/* This class specifies the basic operation on a queue as a linked list */
#ifndef DATA_STRUCTURES_QUEUE_QUEUE_H_
#define DATA_STRUCTURES_QUEUE_QUEUE_H_
/** Definition of the node */
template <class Kind>
struct node {
Kind data;
node<Kind> *next;
};
/** Definition of the queue class */
template <class Kind>
class queue {
public:
void display(); /**< Show queue */
queue(); /**< Default constructor*/
~queue(); /**< Destructor */
bool isEmptyQueue(); /**< Determine whether the queue is empty */
void enQueue(Kind item); /**< Add new item to the queue */
Kind front(); /**< Return the first element of the queue */
void deQueue(); /**< Remove the top element of the queue */
void clear();
private:
node<Kind> *queueFront; /**< Pointer to the front of the queue */
node<Kind> *queueRear; /**< Pointer to the rear of the queue */
int size;
};
#endif // DATA_STRUCTURES_QUEUE_QUEUE_H_