struct node *current null//display the list void printlist(struct node *ptr headprintf("\ ")//start from the beginning while(ptr !nullprintf("(% ,% ",ptr->key,ptr->data)ptr ptr->nextprintf(]")//insert link at the first location void insertfirst(int keyint data//create link struct node *link (struct node*malloc(sizeof(struct node))link->key keylink->data data//point it to old first node link->next head//point first to new first node head link//delete first item struct nodedeletefirst(//save reference to first link struct node *templink head//mark next to first link as first head head->next//return the deleted link