-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathqueue.c
More file actions
44 lines (35 loc) · 739 Bytes
/
queue.c
File metadata and controls
44 lines (35 loc) · 739 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
33
34
35
36
37
38
39
40
41
42
43
44
#include <stdlib.h>
#include <stdio.h>
#include "queue.h"
typedef struct queue
{
int data[MAX];
int length;
} queue_t;
queue_t *init() {
queue_t *queue;
queue = (queue_t*) malloc(sizeof(queue_t));
queue->length = 0;
return queue;
}
void push(queue_t *queue, int value) {
queue->data[queue->length] = value;
queue->length++;
}
void pop(queue_t *queue) {
int j = 1;
for (int i = 0; i < queue->length; i++) {
queue->data[i] = queue->data[j];
j++;
}
queue->length--;
}
void getAll(queue_t *queue) {
for (int i = 0; i < queue->length; i++) {
printf("%d\n", queue->data[i]);
}
}
void free_queue(queue_t *queue) {
free(queue->data);
free(queue);
}