Although the insert() function allows new nodes to be inserted at the head and the tail of a list, the addhead() and addtail() functions will do so with higher efficiency. Adding to the head or tail of a list is common practice in first-in-first-out (fifo) or last-in-first-out (lifo or stack) operations. For example, AddHead(header,node) would insert the node at the head of the specified list.