00001 /* 00002 ** Sll.h: Definitions and prototypes for singly linked lists 00003 ** --------------------------------------------------------------- 00004 ** 00005 ** Modified: 13-Jan-06 Juan Pablo Ibañez 00006 ** Modificados os nomes das funcões acrescentando uma R (relax) no inicio. 00007 ** Modificado o nome da estrutura sll para relaxsll, e o tipo Sll para RSll. 00008 */ 00009 00010 #ifndef _SLL_H 00011 #define _SLL_H 00012 00013 /* Definitions 00014 */ 00015 typedef struct relaxsll 00016 { 00017 struct relaxsll *next; 00018 } RSll; 00019 00020 #define ForEachElemInList(h,e) for(e=h;e!=0L;e=e->next) 00021 00022 /* Prototypes of functions 00023 */ 00024 RSll *RSllAddTop( RSll *head, RSll *elem ); 00025 RSll *RSllRmvTop( RSll *head ); 00026 RSll *RSllAddEnd( RSll *head, RSll *elem ); 00027 RSll *RSllAddAft( RSll *head, RSll *befor, RSll *elem ); 00028 RSll *RSllAddBef( RSll *head, RSll *after, RSll *elem ); 00029 RSll *RSllRmvElm( RSll *head, RSll *elem ); 00030 00031 #endif