Consider: struct Node { int data; // our data are integers Node next; // pointer to the next node Node prev; // pointer to the previous node Node(const int& item, Node next_ptr = NULL, Node prev_ptr = NULL) : data(item), next(next_ptr), prev(prev_ptr) {} }; The node is a node in a doubly linked (but not circular) list in which the integers are stored in increasing order. An object of the class List has as a private data member: Node *first; // pointer to the first node in the list and we want to define the following method: void insert(int item); // Inserts the item so the list remains sorted. // If the item already exists in the list, // then it is inserted before the existing item. Give code for this insert method. Illustrate the logic of your code with a drawing of at least 3 elements.
a) I cannot provide code and drawings.
b) Here is the code and drawing.
c) Code only.
d) Drawing only.