projects
/
cgds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Now using 2 spaces instead of tabs. Fix copyright years. Improve documentation
[cgds.git]
/
src
/
Queue.c
diff --git
a/src/Queue.c
b/src/Queue.c
index
7921f29
..
0b22edf
100644
(file)
--- a/
src/Queue.c
+++ b/
src/Queue.c
@@
-6,63
+6,59
@@
void _queue_init(Queue* queue, size_t dataSize)
{
void _queue_init(Queue* queue, size_t dataSize)
{
-
queue->dataSize = dataSize;
-
_vector_init(queue->array
, dataSize);
+ queue->dataSize = dataSize;
+
_list_init(queue->list
, dataSize);
}
Queue* _queue_new(size_t dataSize)
{
}
Queue* _queue_new(size_t dataSize)
{
- Queue* queue = (Queue*) safe_malloc(sizeof (Queue));
- _queue_init(queue, dataSize);
- return queue;
+ Queue* queue = (Queue*) safe_malloc(sizeof (Queue));
+ queue->list = _list_new(dataSize);
+ _queue_init(queue, dataSize);
+ return queue;
}
Queue* queue_copy(Queue* queue)
{
}
Queue* queue_copy(Queue* queue)
{
-
Queue* queueCopy = (Queue*) safe_malloc(sizeof (Queue));
-
queueCopy->dataSize = queue->dataSize;
-
Vector* arrayCopy = vector_copy(queue->array
);
-
queueCopy->array = array
Copy;
-
return queueCopy;
+ Queue* queueCopy = (Queue*) safe_malloc(sizeof (Queue));
+ queueCopy->dataSize = queue->dataSize;
+
List* listCopy = list_copy(queue->list
);
+
queueCopy->list = list
Copy;
+ return queueCopy;
}
}
-
B
ool queue_empty(Queue* queue)
+
b
ool queue_empty(Queue* queue)
{
{
-
return vector_empty(queue->array
);
+
return list_empty(queue->list
);
}
UInt queue_size(Queue* queue)
{
}
UInt queue_size(Queue* queue)
{
-
return vector_size(queue->array
);
+
return list_size(queue->list
);
}
void _queue_push(Queue* queue, void* data)
{
}
void _queue_push(Queue* queue, void* data)
{
-
_vector_push(queue->array
, data);
+
_list_insert_back(queue->list
, data);
}
void* _queue_peek(Queue* queue)
{
}
void* _queue_peek(Queue* queue)
{
-
return vector_get(queue->array, 0
);
+
return _list_get(queue->list->head
);
}
void queue_pop(Queue* queue)
{
}
void queue_pop(Queue* queue)
{
- //remove first vector element and shift its internal array
- safe_free(queue->array->datas[0]);
- queue->array->datas++;
- //NOTE: we remove first element, so capacity decrease too
- queue->array->size--;
- queue->array->capacity--;
+ list_remove_front(queue->list);
}
void queue_clear(Queue* queue)
{
}
void queue_clear(Queue* queue)
{
-
vector_clear(queue->array
);
+
list_clear(queue->list
);
}
void queue_destroy(Queue* queue)
{
}
void queue_destroy(Queue* queue)
{
-
queue_clear(queue
);
-
safe_free(queue);
+
list_destroy(queue->list
);
+ safe_free(queue);
}
}