onsider the following implementation of the node and doubly linked-list:   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. USE C++ PLEASE   THE CODE :

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Consider the following implementation of the node and doubly linked-list:

 

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.

USE C++ PLEASE

 

THE CODE :

 

 

 

template <class type>

class node
{

public:
type info;
node<type> * next;// next
node<type> * prev;//back


};


template <class type>
class doubly_linked_list

{

//data members
private:
node<type> *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<type> *newnode = new node<type>;

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<type> * 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<type> * 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<type> * newnode = new node <type>;

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<type> * 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;
}

}

 

 


}

}


};

Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY