ScapeGoatTree
Loading...
Searching...
No Matches
queue.hpp
Go to the documentation of this file.
1//
2// Created by DELL on 24/12/2025.
3//
4
5#ifndef TREE_QUEUE_HPP
6#define TREE_QUEUE_HPP
7
8template<typename T>
9class QNode {
11 T value{};
12 explicit QNode(T value): value(value){}
13 template<typename>
14 friend class Queue;
15};
16template<typename T>
17class Queue {
20 int nNodes{};
21public:
25 ~Queue() {
26 while (!isEmpty()) pop();
27 }
28
32 void push(T value);
33
37 void pop();
38
42 [[nodiscard]] bool isEmpty() const;
43
47 T front();
48
52 [[nodiscard]] int size() const;
53
54};
55
56#include "queue.tpp"
57
58#endif //TREE_QUEUE_HPP
Definition queue.hpp:9
QNode(T value)
Definition queue.hpp:12
T value
Definition queue.hpp:11
QNode * next
Definition queue.hpp:10
Definition queue.hpp:17
void pop()
Definition queue.tpp:37
QNode< T > * tail
Definition queue.hpp:19
bool isEmpty() const
Definition queue.tpp:50
int size() const
Definition queue.tpp:67
int nNodes
Definition queue.hpp:20
T front()
Definition queue.tpp:58
~Queue()
Definition queue.hpp:25
void push(T value)
Definition queue.tpp:18
QNode< T > * head
Definition queue.hpp:18