blob: 6cc640396214fc11194adf3b51244c9d0f9cb338 (
plain) (
tree)
|
|
#include "linkedlist.h"
void
sll_new(struct SLinkedList *list, size_t obj_size)
{
list->obj_size = obj_size;
list->count = 0;
list->head = list->tail = NULL;
};
void
sll_push(struct SLinkedList *list, void *data)
{
struct SLLNode *node = (struct SLLNode*)data;
if(list->tail != NULL) {
list->tail->next = node;
}
if(list->head == NULL)
list->head = node;
list->tail = node;
list->count++;
}
void*
sll_get(struct SLinkedList *list, size_t index)
{
struct SLLNode *node = list->head;
if(node == NULL) return NULL;
if(index > list->count) return list->tail;
for(size_t i = 0; i < index; i++) {
node = node->next;
}
return node;
}
|