Consider the following implementation of the node and doubly linked-list: template class node { public: type info; node * next;// next node * prev;//back }; template class doubly_linked_list { //data members private: node *head, *tail; int length; public: doubly_linked_list() { head = tail = NULL; length = 0; } bool isEmpty() { // return (head==NULL); if (head == NULL) return true; else return false; } void Append(type e) { node *newnode = new node; newnode->info = e; if (isEmpty()) { newnode->next = NULL; newnode->prev = NULL; head = newnode; tail = newnode; } else { tail->next = newnode; newnode->prev = tail; newnode->next = NULL; tail = newnode; } ++length; } void Display() { if (isEmpty()) { cout << "The linked list is empty !!!!"; return; } cout << "list elements: "; node * current = head; while (current != NULL) { cout << current->info << " "; current = current->next; } cout << endl; } void ReverseDisplay() { if (isEmpty()) { cout << "The linked list is empty !!!!"; return; } cout << "Reverse list elements: "; node * current = tail; while (current != NULL) { cout<< current->info<<" "; current = current->prev; } cout << endl; } void insert(type e, int index) { if (index< 1 || index>length + 1) { cout << "Invalid index !!!!"; return; } else { node * newnode = new node ; newnode->info = e; if (index == 1) { newnode->prev = NULL; if (isEmpty()) { newnode->next = NULL; head = tail = newnode; } else { newnode->next = head; head->prev = newnode; head = newnode; } } else { node * current = head; int i = 1; while (i != index - 1) { current = current->next; ++i; } if(current !=tail) { current->next->prev = newnode; newnode->next = current->next; current->next = newnode; newnode->prev = current; } else { current->next = newnode; newnode->prev = current; newnode->next = NULL; tail = newnode; } } } } }; Extend the class doubly_linked_list by adding the following methods: Largest method .This method should return the largest element in a doubly linked-list. Delete method. This method should delete the first occurrence of an element (value) from a doubly linked-list. --------------------------------------------------------------------------------------------------------------------------PS: please after write the required functions add them to the above code so the code is ready to run and screenshot the output
Consider the following implementation of the node and doubly linked-list:
template <class type> };
}
} void ReverseDisplay() void insert(type e, int index)
}
}; |
Extend the class doubly_linked_list by adding the following methods:
- Largest method .This method should return the largest element in a doubly linked-list.
- Delete method. This method should delete the first occurrence of an element (value) from a doubly linked-list.
--------------------------------------------------------------------------------------------------------------------------PS: please after write the required functions add them to the above code
so the code is ready to run and screenshot the output
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 10 images