Use this node definition on the questions that follow.
struct node { int info; node * next; node (int D, node *N) : info (D), next (N) { } // all fields initialized in initializer list } ; // notice semi-colon1. Draw a diagram and display the output:
node *r = new node(9, NULL); node *s = new node(7, r); node *p = new node(3, s); cout << p->info + s->info + r->info << endl;2. Complete this swap function:
void swap (node*a, node*b) // pre: a and b are initialized and not NULL // post: the data stored in the info fields of a and b have been exchanged {3. Consider function
CopyFront
outlined below:void CopyFront (node *L) // pre: L is not NULL // post: the first node in list L has been copied and inserted after the first node { < more code > }For example:
< more code>
so that CopyFront
works as intended?A. L = new node (L->info, NULL); B. L = new node (L->info, L); C. L = new node (L->info, L->next); D. L->next = new node (L->info, L); E. L->next = new node (L->info, L->next);