1. Operations on Linked Lists Part A: Operations on Head-Only Lists Implement a data type List that realizes linked lists consisting of nodes with integer values. A class of type List has one field, a pointer to a Node head and with the following functions. The structure of type Node has two fields, an integer value and (a pointer to) a Node next. The type List must have the following methods: |boolean IsEmpty() returns true when List is empty;, returns the number of nodes in the list, which is 0 for the empty list; print the content of all nodes: creates a new node with the integer and adds it to the beginning of the list; creates a new node with the integer and adds it to the end of the list; returns the first node with value i; int LengthIs() void Print() void AddAsHead(int i) void AddAsTail(int i) Node Find(int i) void Reverse() reverses the list; returns the value of the head of the list and removes the node

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
1. Operations on Linked Lists
Part A: Operations on Head-Only List:
Implement a data type List that realizes linked lists consisting of nodes with integer values. A
class of type List has one field, a pointer to a Node head and with the following functions. The
structure of type Node has two fields, an integer value and (a pointer to) a Node next.
The type List must have the following methods:
|boolean IsEmpty()
returns true when List is empty;
returns the number of nodes in the list, which is 0 for the
empty list;
print the content of all nodes;
creates a new node with the integer and adds it to the
beginning of the list;
creates a new node with the integer and adds it to the end of
the list;
returns the first node with value i;
reverses the list;
returns the value of the head of the list and removes the node,
if the list is nonempty, otherwise returns NULL;
int LengthIs()
void Print()
void AddAsHead(int i)
void AddAsTail(int i)
Node Find(int i)
void Reverse()
int PopHead()
void RemoveFirst(int i) removes the first node with value i;
void RemoveAll(int i)
removes all nodes with value i;
appends the list 1 to the last element of the current list, if the
current list is nonempty, or let the head of the current list
point to the first element of 1 if the current list is empty.
void AddAll(List 1)
Part B: Operations on Head-Tail List
Suppose we include another pointer in the class, and it points to the tail of the list. To
accommodate and take advantage of the new pointer, we need to modify some methods. Write
the new versions of the methods named as V2 where you need to manage the tail pointer. For
example, if you need to modify funcOne() then add a new function funcOne V20.
CodeBlocks Details
Project Name: AsnListDemo, Files: List.h, List.cpp, main.cpp
Transcribed Image Text:1. Operations on Linked Lists Part A: Operations on Head-Only List: Implement a data type List that realizes linked lists consisting of nodes with integer values. A class of type List has one field, a pointer to a Node head and with the following functions. The structure of type Node has two fields, an integer value and (a pointer to) a Node next. The type List must have the following methods: |boolean IsEmpty() returns true when List is empty; returns the number of nodes in the list, which is 0 for the empty list; print the content of all nodes; creates a new node with the integer and adds it to the beginning of the list; creates a new node with the integer and adds it to the end of the list; returns the first node with value i; reverses the list; returns the value of the head of the list and removes the node, if the list is nonempty, otherwise returns NULL; int LengthIs() void Print() void AddAsHead(int i) void AddAsTail(int i) Node Find(int i) void Reverse() int PopHead() void RemoveFirst(int i) removes the first node with value i; void RemoveAll(int i) removes all nodes with value i; appends the list 1 to the last element of the current list, if the current list is nonempty, or let the head of the current list point to the first element of 1 if the current list is empty. void AddAll(List 1) Part B: Operations on Head-Tail List Suppose we include another pointer in the class, and it points to the tail of the list. To accommodate and take advantage of the new pointer, we need to modify some methods. Write the new versions of the methods named as V2 where you need to manage the tail pointer. For example, if you need to modify funcOne() then add a new function funcOne V20. CodeBlocks Details Project Name: AsnListDemo, Files: List.h, List.cpp, main.cpp
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