Using following main file and solve the task Instead of ID and GPA, now consider following fields: Name, ID and Contact numberInsert last (already done)Display All (already done)Insert at the beginningDelete the first elementDelete the last elementSearch an element (by ID)Insert after an elementDisplay how many elements are there in the listFind the element with highest (biggest) IDFind the element with lowest (smallest) ID // main file please solve all it ... Thank You :) Using following main file and solve the task Instead of ID and GPA, now consider following fields: Name, ID and Contact numberInsert last (already done)Display All (already done)Insert at the beginningDelete the first elementDelete the last elementSearch an element (by ID)Insert after an elementDisplay how many elements are there in the listFind the element with highest (biggest) IDFind the element with lowest (smallest) ID // main file please solve all it ... Thank You :) Instead of ID and GPA, now consider following fields: Name, ID and Contact numberInsert last (already done)Display All (already done)Insert at the beginningDelete the first elementDelete the last elementSearch an element (by ID)Insert after an elementDisplay how many elements are there in the listFind the element with highest (biggest) IDFind the element with lowest (smallest) ID // main file please solve all it ... Thank You :) // main file please solve all it ... Thank You :) Solution // main file #include #include using namespace std; struct node{ //change to name , ID and contact number string name; int ID; ; string phone; //double GPA; node *link; }; node *head=NULL, *t; void insertNode() { node *temp=new node; cout<<\"Enter name..\"; cin>>temp->name; cout<<\"Enter the ID..\"; cin>>temp->ID; cout<<\"Enter Phone..\"; cin>>temp->phone; temp->link=NULL; if(head==NULL)//list is empty { head=temp; } else { t=head; while(t->link!=NULL) t=t->link; t->link=temp; } } void displayAll() { node *t=head; while(t!=NULL) { cout<<\"Name=\"<name<ID<phone<link; } } void isertAtbegin() { node *cur = head; node *temp=new node; cout<<\"Enter name..\"; cin>>temp->name; cout<<\"Enter the ID..\"; cin>>temp->ID; cout<<\"Enter Phone..\"; cin>>temp->phone; head = temp; temp->link = cur; } void deleteFirstElement() { node *cur = head,*prev=head; head = head->link; free(cur); } void searchElement(int ID) { node *cur = head; int found = 0,pos=0; while( cur!=NULL) { if( ID == cur->ID ) { found = 1; break; } cur = cur->link; ++pos; } if( found ) cout<<\"Element with Id= \"<link; node *temp=new node; cout<<\"Enter name..\"; cin>>temp->name; cout<<\"Enter the ID..\"; cin>>temp->ID; cout<<\"Enter Phone..\"; cin>>temp->phone; temp->link=next; cur->link = temp; break; } cur = cur->link; ++pos; } } void displayNumberOfelements() { node *cur = head; int count = 0; while( cur!=NULL) { ++count; cur = cur->link; } cout<<\"Number of elements in list = \"<ID; while( cur!=NULL) { if(max < cur ->ID) { max = cur ->ID; } cur = cur->link; } cout<<\.