You are to work to develop a linked-list processing function IsolateTargetSoloAsTail that is to process a linked list as follows.   ● If target cannot be found on the given list, a new node containing target is created and added to the end (made the new tail node) of the list.     ► This includes the case where the given list is empty, in which case the new tail node added is also new head node. (This is so because the only node in a 1-node list is both the head and tail node of the list.)   ● If target appears only once on the given list, the target-matching node is moved to the end (made the new tail node) of the list.     ► In case the target-matching node is already the tail node (of the given li

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
You are to work to develop a linked-list processing function IsolateTargetSoloAsTail that is to process a linked list as follows.
  If target cannot be found on the given list, a new node containing target is created and added to the end (made the new tail node) of the list.
    This includes the case where the given list is empty, in which case the new tail node added is also new head node. (This is so because the only node in a 1-node list is both the head and tail node of the list.)
  If target appears only once on the given list, the target-matching node is moved to the end (made the new tail node) of the list.
    In case the target-matching node is already the tail node (of the given list), then nothing needs to be done.
  If target appears multiple times on the given list, the first target-matching node is moved to the end (made the new tail node) of the list, and all other target-matching nodes are to be deleted from the list.
    Note that although the target-matching node to be moved does not have to be the first (i.e., it can also be any of the other target-matching nodes) for the function to work as intended, you are to make it so for the purpose (and simplicity/uniformity) of this exercise.
  The order in which non-target-matching nodes originally appear in the given list must be preserved.
Given List target Processed List
(empty) 5 5
1 1 1
0  3  2 0  3  2 
4  2  3  1 4 2  3  1  4 
2  3  0  3  1  2  3  4 4 2  3  0  3  1  2  3  4
 3  3  4  3 3 4  3
3  2  2  4  3  3  2  3  2  2  3  0  1  1 2 3  4  3  3  3  3  0  1  1  2
    The last 2 examples have nodes shown colored black to indicate which of the target-matching nodes in the given list has been moved to become the tail node in the processed list. 
Fill in the prototype for IsolateTargetSoloAsTail in the supplied header file (llcpInt.h).
  Fill in the definition for IsolateTargetSoloAsTail in the supplied implementation file (llcpImp.cpp).

llcplnt.h

#ifndef ASSIGN05P1_H
#define ASSIGN05P1_H

#include <iostream>

struct Node
{
   int data;
   Node *link;
};

int    FindListLength(Node* headPtr);
bool   IsSortedUp(Node* headPtr);
void   InsertAsHead(Node*& headPtr, int value);
void   InsertAsTail(Node*& headPtr, int value);
void   InsertSortedUp(Node*& headPtr, int value);
bool   DelFirstTargetNode(Node*& headPtr, int target);
bool   DelNodeBefore1stMatch(Node*& headPtr, int target);
void   ShowAll(std::ostream& outs, Node* headPtr);
void   FindMinMax(Node* headPtr, int& minValue, int& maxValue);
double FindAverage(Node* headPtr);
void   ListClear(Node*& headPtr, int noMsg = 0);

// prototype of IsolateTargetSoloAsTail of Assignment 5 Part 1

#endif

llcpImp.cpp

 

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Stack
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-engineering and related others by exploring similar questions and additional content below.
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