From 827a21b55ad5085765788728f0048f257cb35ccd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Fri, 15 Feb 2019 20:03:12 +0100 Subject: LinkedList O(1) length. --- linked_list.inc.h | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/linked_list.inc.h b/linked_list.inc.h index cdb0ac1a..cb6df29c 100644 --- a/linked_list.inc.h +++ b/linked_list.inc.h @@ -86,6 +86,7 @@ TYPE* POP(LLIST(TYPE)) ( LLIST(TYPE)* lst) { UNLINK(LINK(TYPE))(frst); TYPE* retval = frst->value; + --lst->length; free (frst); return retval; } @@ -128,13 +129,7 @@ int APPEND(LLIST(TYPE)) ( LLIST(TYPE)* dest, LLIST(TYPE)* new ) { } int SIZE(LLIST(TYPE)) ( LLIST(TYPE)* llist ) { - int size = 0; - LINK(TYPE)* l = FIRST(llist); - while (l->after != NULL) { - ++size; - l = l->after; - } - return size; + return llist->length; } int EMPTY(LLIST(TYPE)) ( LLIST(TYPE)* llist ) { -- cgit v1.2.3