A) From your Singular Linked List, Create a Doubly Linked List. Use this to create a Sorted Linked List, Use this to create a prioritized list by use. Bring to front those links recently queried. Code c++ main.cpp //System Libraries #include //Random Function cstdlib #include //I/O Stream iostream #include //Time Function setting random seed ctime using namespace std; //User Libraries #include "Node.h" //Global Constants //Physics/Math/Conversions/2+ArrayDimenstions //No Global Variables //Function Prototypes Here Node *filNode(int); void prtNode(Node *); void destroy(Node *); //Execution Begins with Main int main(int argc, char** argv) { //Random Number seed set once here srand(static_cast(time(0))); //Declare and initialize variables Node *head=filNode(10); //Display results here prtNode(head); //Clean up code destroy(head); //Exit stage right return 0; } Node *filNode(int n){ //Initialize the front Node *head=new Node; head->data=n--; head->ptr=NULL; Node *tail=head; //Loop until filled do{ Node *next=new Node; next->data=n--; next->ptr=NULL; tail->ptr=next; tail=next; }while(n>=0); return head; } void prtNode(Node *head){ Node *temp=head; do{ cout<data< temp=temp->ptr; }while(temp!=NULL); } void destroy(Node *head){ Node *temp=head; do{ temp=temp->ptr; delete head; head=temp; }while(temp!=NULL); } Node.h #ifndef NODE_H #define NODE_H struct Node{ int data; Node *ptr; }; #endif /* NODE_H */ ...