Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //base_queue.h
- #ifndef _BASE_QUEUE_H_INCLUDED
- #define _BASE_QUEUE_H_INCLUDED
- template <class T>
- struct BaseQueue
- {
- T Element;
- BaseQueue* nextNode;
- };
- template <class T>
- void InsertToQueue(BaseQueue<T>** pFirstElement, T pElement)
- {
- BaseQueue<T>* currentElement = *pFirstElement;
- BaseQueue<T>* previous = nullptr;
- BaseQueue<T>* newNode = nullptr;
- while (currentElement)
- {
- previous = currentElement;
- currentElement = currentElement->nextNode;
- }
- newNode = new BaseQueue<T>;
- newNode->Element = pElement;
- if (previous)
- {
- newNode->nextNode = nullptr;
- previous->nextNode = newNode;
- }
- else
- {
- *pFirstElement = newNode;
- (*pFirstElement)->nextNode = nullptr;
- }
- }
- template<class T>
- void DeleteElementFromQueue(BaseQueue<T>** pFirstElelemt)
- {
- BaseQueue<T>* oldItem = *pFirstElelemt;
- if (*pFirstElelemt)
- {
- *pFirstElelemt = (*pFirstElelemt)->nextNode;
- delete oldItem;
- oldItem = nullptr;
- }
- }
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement