using namespace std; #include class IntList{ private: struct ListNode{ int value; ListNode *next; }; ListNode *head; public: IntList(){ head = NULL; } void appendNode(int); void displayNode(); void searchNode(int); void insertNode(int); void deleteNode(int); }; void IntList::insertNode(int num){ ListNode *newNode, *nodePtr, *prevNode = NULL; newNode = new ListNode; newNode->value = num; newNode->next = NULL; if(head == NULL){ head = newNode; } else if(head->value > newNode->value) { newNode->next = head; head = newNode; }else { nodePtr = head; while(nodePtr->value < num && nodePtr != NULL){ prevNode = nodePtr; nodePtr=nodePtr->next; } newNode->next = nodePtr; prevNode->next = newNode; } } void IntList::deleteNode(int num){ ListNode *newNode, *nodePtr, *prevNode = NULL; if(head == NULL){ cout<<"List is empty"<value == num) { nodePtr = head; head = head->next; delete nodePtr; }else { nodePtr = head; while(nodePtr->value != num && nodePtr != NULL){ prevNode = nodePtr; nodePtr=nodePtr->next; } prevNode->next = nodePtr->next; delete nodePtr; } } void IntList::appendNode(int num){ ListNode *newNode, *nodePtr; newNode = new ListNode; newNode->value = num; newNode->next = NULL; if(head == NULL){ head = newNode; }else{ nodePtr = head; while(nodePtr->next != NULL){ nodePtr = nodePtr->next; } nodePtr->next = newNode; } } void IntList::displayNode(){ ListNode *nodePtr; int count = 0; int sum = 0; if(head == NULL){ cout<<"No node exists"<value<value; nodePtr= nodePtr->next; count++; } cout<<"No. of nodes: "<value == num){ found = true; } nodePtr= nodePtr->next; } if(found){ cout<<"Node Found"<