Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include "queue.h"
- #include "../LinkedList/linked_list.h"
- struct Queue {
- pLinkedList buffer;
- };
- pQueue makeQueue() {
- pQueue newQueue = malloc(sizeof(Queue));
- newQueue->buffer = makeList();
- return newQueue;
- }
- size_t push(pQueue queue, T data) {
- if (queue == NULL) return 0; // FAILED, returns 0.
- appendToList(queue->buffer, data);
- return queue->buffer->size;
- }
- T* pop(pQueue queue) {
- if (queue == NULL) return NULL; // No Queue
- pNode front = removeFront(queue->buffer);
- if (front == NULL) return NULL; // Nothing in the queue
- return front->data;
- }
- size_t queueSize(pQueue queue) {
- return queue->buffer->size;
- }
- void destroyQueue(pQueue* pPqueue) {
- if (pPqueue == NULL) return; // Nothing here.
- pQueue queue = *pPqueue;
- destroyList(&queue->buffer);
- queue->buffer = NULL;
- free(queue);
- *pPqueue = NULL;
- pPqueue = NULL;
- queue = NULL;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement