Queue using LL

Queue.h
#include "Singly LL.h"
#pragma once

template<typename T>class Queue {
    SinglyLL<T> list;
public:
    void enqueue(const T val);
    bool dequeue(T& val);
    bool isEmpty();
    bool isFull();
};

template<typename T>bool Queue<T> :: isEmpty() {
    return list.Empty();
}

template<typename T>bool Queue<T> :: isFull() {
    return false;
}

template<typename T>void Queue<T> :: enqueue(const T val) {
    list.insert(val);
}

template<typename T>bool Queue<T> :: dequeue(T& val) {
    if(isEmpty()) return false;

    list.removeAtHead(val);
    return true;
}

Last updated

Was this helpful?