Modifying a Linked List
Insert a new element at the beginning:
NodeT *insertLL(NodeT *list, int d) {
NodeT *new = makeNode(d); // create new list element
new->next = list; // link to beginning of list
return new; // new element is new head
}
|
Delete the first element:
NodeT *deleteHead(NodeT *list) {
assert(list != NULL); // ensure list is not empty
NodeT *head = list; // remember address of first element
list = list->next; // move to second element
free(head);
return list; // return pointer to second element
}
|
What would happen if we didn't free the memory pointed to by head ?
|