void main() { node *head,*tail; createList(&head); insertAtBeginning(&head,4); insertAtBeginning(&head,3); insertAtBeginning(&head,2); insertAtBeginning(&head,5); insertAtBeginning(&head,6); insertAtBeginning(&head,10); insertAtEnd(&head,1); insertInBetween(&head,9,2); traverseList(head); printf("\n"); reverseTraversal(head); reverseList(&head); traverseList(head); deleteEnd(&head); traverseList(head); deleteBeginning(&head); traverseList(head); deleteAfter(&head,2); traverseList(head); deleteList(&head); traverseList(head); // tail= getTail(head); // printf("\nTail= %d",tail->info); }
int insert(List *list, int index, void *data){ Node *node = list->head,*nodeToInsert; int i; nodeToInsert = calloc(1, sizeof(node)); if(index < 0 || index > list->numberOfElements) return 0; nodeToInsert->data = data; if(index == 0) return insertAtFirst(list, nodeToInsert); for(i = 0; i<index-1; i++) node = node->next; return insertInBetween(list, nodeToInsert, node); return 1; };