struct node { int info; node *prev, *next; }; node* L;
Directions: Given the definitions above, write the following functions based on the stated pre- and post-conditions.
1. void insertDouble(node* L, int grade) // pre-condition: L is doubly linked, in ascending order, contains numeric grades, // delimited by a header node containing a negative integer and // a trailer node containing a 3-digit integer. // post-condition: an integer grade is inserted into L at its appropriate location { node* newnode = ____________________; newnode->info = ____________________; node* trav = L->next; while (grade ___ ______________________ ) // seek insertion position { trav = trav->next; } trav->_______ ->next = newnode; // link before newnode newnode->prev = __________________; _____________ = trav; // link after newnode ______________ = ______________; } 2. void removeDouble(node* L, int grade) { // pre-condition: Same as above // post-condition: Integer grade known to exist in L is deleted (no duplicates) {