-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathqueue.h
More file actions
32 lines (28 loc) · 690 Bytes
/
Copy pathqueue.h
File metadata and controls
32 lines (28 loc) · 690 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#ifndef __QUEUE_HEADER
#define __QUEUE_HEADER
#include <stdbool.h>
#include <string.h>
typedef struct _Node{
void* data;
struct _Node* next;
struct _Node* prev;
} Node;
typedef struct _Queue
{
Node* first;
Node* last;
int size;
int itemSize;
} Queue;
Queue* queue_initialize(int);
bool queue_add_at(Queue*, int, void*);
void* queue_get_element(Queue*, int);
void* queue_remove_element(Queue*, int);
bool queue_enqueue(Queue*, void*);
void* queue_dequeue(Queue*);
void* queue_peek(Queue*);
int queue_size(Queue*);
int queue_index_of(Queue*, void*);
bool queue_contains(Queue*, void*);
bool queue_destroy(Queue*);
#endif