Starting Out with C++
Starting Out with C++
8th Edition
ISBN: 9780133888201
Author: GADDIS
Publisher: PEARSON CUSTOM PUB.(CONSIGNMENT)
bartleby

Concept explainers

Question
Book Icon
Chapter 17, Problem 34RQE
Program Plan Intro

Purpose of the given code:

The given code is trying to remove a value from the linked list; the value to be removed is stored in the variable “num”.

Given Code:

//Definition of function

void NumberList::deleteNode(double num)//Line 1

{//Line 2

//Declaration of structure pointer variable

ListNode *nodePtr, *previousNode; //Line 3

// If the list is empty, do nothing

if (!head)//Line 4

return;//Line 5

//Determine if the first node is the one

if (head->value == num)//Line 6

//Error #1

//Delete “head” value

delete head;//Line 7

//Error #2

else//Line 8

{//Line 9

// Initialize nodePtr to head of list

nodePtr = head;//Line 10

/* Skip all nodes whose value member is not equal to num */

while (nodePtr->value != num)//Line 11

{//Line 12

previousNode = nodePtr;//Line 13

nodePtr = nodePtr->next;//Line 14

}//Line 15

/* link the previous node to the node after nodePtr, then delete nodePtr */

previousNode->next = nodePtr->next;//Line 16

delete nodePtr;//Line 17

}//Line 18

}//Line 19

Blurred answer
Students have asked these similar questions
Ocaml Mode Write a function mode : ’a list -> ’a = that given a (nonempty) list it returns an element that repeats the most times (if ties exist, return the element among them that appears first in the list). examples mode [1;2;1;4;2;5;1;2;6];; - : int = 1 mode [’a’;’b’;’c’;’b’;’a’;’b’;’d’;’c’;’d’];; - : char = ’b’
What does this part of code do? void addRecord(Node *& head, Node *& tail, string name, double balance){    Node *newNode = new Node;    newNode->name = name;    newNode->balance = balance;    newNode->next = NULL;    newNode->prev = NULL;    // If list is empty, make newNode the first node    if(head == NULL){        head = newNode;        tail = newNode;    }    else{        Node *temp = head;        // Loop through list until temp->next is NULL        while(temp->next != NULL){            temp = temp->next;        }        temp->next = newNode;        newNode->prev = temp;        tail = newNode;    }} /*
Topic: Singly Linked ListImplement the following functions in C++ program. Read the question carefully.  (See attached photo for reference)    void isEmpty() This method will return true if the linked list is empty, otherwise return false. void clear() This method will empty your linked list. Effectively, this should and already has been called in your destructor (i.e., the ~LinkedList() method) so that it will deallocate the nodes created first before deallocating the linked list itself.
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education