//Q2.4) WAP to implement a linked list, update data at any position, update a value and then print the linked list. #include #include using namespace std; struct node{ int data; node* next; void setData(int d){ data=d; next=NULL; } }; void InsertAtHead(node* &head,int data){ node* newNode=(node*)malloc(sizeof(node)); newNode->setData(data); newNode->next=head; head=newNode; } void InsertAtTail(node* &tail,int data){ node* newNode=(node*)malloc(sizeof(node)); newNode->setData(data); tail->next=newNode; tail=newNode; } void UpdateAtPosition(node* &head,int position,int newValue){ node* temp=head; int nodeNumber=1; while(nodeNumbernext; nodeNumber++; } temp->data=newValue; } void UpdateTheValue(node* head,int oldValue,int newValue){ node* temp=head; while(temp!=NULL){ if(temp->data==oldValue){ temp->data=newValue; } temp=temp->next; } } void PrintLinkedList(node* &head){ node* temp=head; while(temp!=NULL){ cout<data<<" "; temp=temp->next; } cout<setData(1); node* tail=head; InsertAtHead(head,2); InsertAtTail(tail,4); InsertAtTail(tail,6); cout<<"Before Position Updation: "; PrintLinkedList(head); UpdateAtPosition(head,1,6); cout<<"After Position Updation: "; PrintLinkedList(head); cout<