Starting Out with C++: Early Objects (9th Edition)
Starting Out with C++: Early Objects (9th Edition)
9th Edition
ISBN: 9780134400242
Author: Tony Gaddis, Judy Walters, Godfrey Muganda
Publisher: PEARSON
Expert Solution & Answer
Book Icon
Chapter 17.2, Problem 17.6CP

Explanation of Solution

Appending a node:

It is the process of adding a new node at the end of a linked list.

Inserting a node:

It is the process of adding a new node at a specific location in a list.

Member function for appending a node:

The following member function is used to append the received value into a list at end:

//Definition of appendNode() function

void IntList::appendNode(int num)

{

//Declare a structure pointer variables

ListNode *newNode, *dataPtr = nullptr;

//Assign a new node

newNode = new ListNode;

//Store the argument value into "newNode"

newNode->value = num;

//Assign the next pointer to be "NULL"

newNode->next = nullptr;

//Condition to check whether the list is empty or not

if (!head)

//If true, make newNode as the first node

head = newNode;

//else part

else

{

//Store head value into dataPtr

dataPtr = head;

//Loop to find the last node in the list

while (dataPtr->next)

//Assign last node to the structure variable

dataPtr = dataPtr->next;

//Insert newNode as the last node

dataPtr->next = newNode;

}

}

Explanation:

Consider the function named “appendNode()” to insert the received value “num” at end of the list.

  • Make a new node and assign a received value “num” into the node.
  • Using “if…else” condition check whether the list is empty or not.
    • If the “head” node is empty, assign a new node into “head” pointer.
    • Otherwise, make a loop to find a last node in the list and insert the value at end of the list.

Member function for inserting a node:

The following member function is used to insert the received value into a list at specific location:

//Definition of insertNode() function

void IntList::insertNode(int num)

{

/*Declare a structure pointer variables*/

ListNode *newNode, *dataPtr, *prev = nullptr;

//Assign a new node

newNode = new ListNode;

//Store the argument value into "newNode"

newNode->value ...

Blurred answer
Students have asked these similar questions
Suppose your computer is responding very slowly to information requests from the Internet. You observe that your network gateway shows high levels of network activity even though you have closed your e-mail client, Web browser, and all other programs that access the Internet. What types of malwares could cause such symptoms? What steps can you take to check whether malware has gained access to your system? What tools can you use at each step? If you identify malware, what ways might it have entered your system? How can you restore your PC to safe operation, including the special software tools you may use?
R language
Using R language
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781305480537
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
Programming with Microsoft Visual Basic 2017
Computer Science
ISBN:9781337102124
Author:Diane Zak
Publisher:Cengage Learning
Text book image
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,