diff options
Diffstat (limited to 'sorted_list.h')
-rw-r--r-- | sorted_list.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/sorted_list.h b/sorted_list.h new file mode 100644 index 0000000..734e69b --- /dev/null +++ b/sorted_list.h @@ -0,0 +1,25 @@ +/* + * sorted_list.h: + * + */ + +#ifndef __SORTED_LIST_H_ /* include guard */ +#define __SORTED_LIST_H_ + +typedef struct sorted_list_node_tag { + struct sorted_list_node_tag* next; + void* data; +} sorted_list_node; + +typedef struct { + sorted_list_node root; + int (*compare)(void*, void*); +} sorted_list_type; + +void sorted_list_initialise(sorted_list_type* list); +void sorted_list_insert(sorted_list_type* list, void* item); +sorted_list_node* sorted_list_next_item(sorted_list_type* list, sorted_list_node* prev); +void sorted_list_destroy(sorted_list_type* list); + + +#endif /* __SORTED_LIST_H_ */ |