#include #include #include typedef int type; struct _elem { type val; struct _elem *next; }; typedef struct _elem elem; void TOcreate(elem **pelem) { *pelem=NULL; } int empty(elem *pelem) { return (!pelem); } void TOkill(elem **pelem) { elem *temp; if (empty(*pelem)) return; while (*pelem!=NULL) { temp=*pelem; *pelem=(*pelem)->next; free(temp); } } void TOadd(elem **pelem, int datain) { elem *temp; temp=(elem*)malloc(sizeof(elem)); temp->val=datain; temp->next=NULL; if (!empty(*pelem)) { temp->next=*pelem; } *pelem=temp; } int TOdelElem(elem **pelem) { int dataoff; elem *temp; if (empty(*pelem)) return 0; else { temp=*pelem; *pelem=(*pelem)->next; dataoff=temp->val; free(temp); } return dataoff; } void TOshow(elem *pelem) { for(;pelem;pelem=pelem->next) { printf("%d ", pelem->val); } printf("\n"); } int main() { elem *pelem; clrscr(); TOcreate(&pelem); TOadd(&pelem,10); TOadd(&pelem,7); TOadd(&pelem,21); TOshow(pelem); printf("\n%d\n",TOdelElem(&pelem)); printf("\n%d\n",TOdelElem(&pelem)); TOkill(&pelem); return 0; }