#ifndef SINGLE_LIST #define SINGLE_LIST #include typedef struct single_node { int value; struct single_node *next; } Single_node; /* typedef struct single_node Single_node; */ typedef struct { Single_node *head; Single_node *tail; int count; } Single_list; extern void init_sl( Single_list *this ); extern void destroy_sl( Single_list *this ); extern void init_sn( Single_node *this, int v, Single_node *n ); extern int empty( Single_list *this ); extern int size( Single_list *this ); extern int front( Single_list *this ); extern int back( Single_list *this ); extern void push_front( Single_list *this, int v ); extern void push_back( Single_list *this, int v ); extern int pop_front( Single_list *this ); #endif