acc/include/util/linklist.h
szdytom 121c37c16a main function(AST)
Signed-off-by: szdytom <szdytom@163.com>
2023-06-12 16:02:43 +08:00

29 lines
680 B
C

#ifndef ACC_UTIL_LINKLIST_H
#define ACC_UTIL_LINKLIST_H
struct llist_node {
struct llist_node *nxt;
};
struct linklist {
int length;
struct llist_node *head;
struct llist_node *tail;
};
void llist_init(struct linklist *l);
void llist_free(struct linklist *l);
void llist_free_full(struct linklist *l);
void llist_pushback(struct linklist *l, void *val);
void llist_pushback_notnull(struct linklist *l, void *val);
void* llist_get(struct linklist *l, int x);
void llist_set(struct linklist *l, int x, void *val);
void llist_insert(struct linklist *l, int x, void *val);
void* llist_popfront(struct linklist *l);
void* llist_remove(struct linklist *l, int index);
#endif