bartleby

Concept explainers

Question
Book Icon
Chapter 18, Problem 4PC
Program Plan Intro

List Reverse

Program Plan:

“IntList.h”:

  • Include the required specifications into the program.
  • Define a class named “IntList”.
    • Declare the member variables “value” and “*next” in structure named “ListNode”.
    • Declare the constructor, copy constructor, destructor, and member functions in the class.

“IntList.cpp”:

  • Include the required header files into the program.
  • Define a copy constructor named “IntList()” which takes an address of object for the “IntList” class as “const”.
    • Declare a structure pointer variable “nodePtr” and initialize it to be “nullptr”.
    • Assign “obj.head” value into the received variable “nodePtr”.
    • Make a “while” loop to copy the received values into “nodePtr”.
      •  Make a call to “appendNode()” to insert values to “nodePtr” and initialize address of “next” into “nodePtr”.
  • Define a function named “appendNode()” to insert the node at end of the list.
    • Declare the structure pointer variables “newNode” and “dataPtr” for the structure named “ListNode”.
    • Assign the value “num” to the variable “newNode” and assign null to the variable “newNode”.
    • Using “if…else” condition check whether the list is empty or not, if the “head” is empty then make a new node into “head” pointer. Otherwise, make a loop to find last node in the loop.
    • Assign the value of “dataPtr” into the variable “newNode”.
  • Define a function named “print()” to print the values in the list.
    • Declare the structure pointer “dataPtr” for the structure named “ListNode”.
    • Initialize the variable “dataPtr” with the “head” pointer.
    • Make a loop “while” to display the values of the list.
  • Define a function named “insertNode()” to insert a value into the list.
    • Declare the structure pointer variables “newNode”, “dataPtr”, and “prev” for the structure named “ListNode”.
    • Make a “newNode” value into the received variable value “num”.
    • Use “if…else” condition to check whether the list is empty or not.
      • If the list is empty then initialize “head” pointer with the value of “newNode” variable.
      • Otherwise, make a “while” loop to test whether the “num” value is less than the list values or not.
      • Use “if…else” condition to initialize the value into list.
  • Define a function named “deleteNode()” to delete a value from the list.
    • Declare the structure pointer variables “dataPtr”, and “prev” for the structure named “ListNode”.
    • Use “if…else” condition to check whether the “head” value is equal to “num” or not.
      • Initialize the variable “dataPtr” with the value of the variable “head”.
      • Remove the value using “delete” operator and reassign the “head” value into the “dataPtr”.
      • If the “num” value not equal to the “head” value, then define the “while” loop to assign the “dataPtr” into “prev”.
      • Use “if” condition to delete the “prev” pointer.
  • Define a function named “reverse()” to reverse the values in a list.
    • Declare the pointer variables “newNode”, “newHead”, “nodePtr”, and “tempPtr” for the structure named “ListNode”.
    • Initialize the variable “nodePtr” with the value of the variable “head”.
    • Define a “while” loop to allocate “newNode” variable.
      • Create a “newNode” for the structure “ListNode”.
      • Store the value of “nodePtr” into “newNode” and assign address as null to the “newNode” pointer.
      • Using “if…else” condition swap the values of “newHead” and “newNode”.
        • Assign the address of “next” node into “nodePtr”.
      • Initialize the variable “head” with the value of the variable “newHead”.
  • Define a function named “destroy()” to destroy the list values from the memory.
    • Declare the structure pointer variables “dataPtr”, and “nextNode” for the structure named “ListNode”.
    • Initialize the “head” value into the “dataPtr”.
    • Define a “while” loop to make the links of node into “nextNode” and remove the node using “delete” operator.
  • Define the destructor to call the member function “destroy()” in the list.

“Main.cpp”:

  • Include the required header files into the program.
  • Declare an object named “obj” for the class “IntList”.
  • Make a call to functions for insert and append operations.
  • Make a call to the “print()” function to display the list on the screen.
  • Make a call to the “reverse()” function to reverse the order of list and call the “print()” function to display the list values.

Blurred answer
Students have asked these similar questions
Figure 1 Q.2/ Find the transfer function, G(s) = Vo(s)/Vi(s), for the network shown in Figure 2. ΙΩ 1 H 0000 + vi(t) + 19 (b) Figure 2 1F vo(t)
Attached is a text file called "Test.txt" that I've created for Python: "There was nothing so very remarkable in that; nor did Alice think it so very much out of the way to hear the Rabbit say to itself, “Oh dear! Oh dear! I shall be late!” (when she thought it over afterwards, it occurred to her that she ought to have wondered at this, but at the time it all seemed quite natural); but when the Rabbit actually took a watch out of its waistcoat-pocket, and looked at it, and then hurried on, Alice started to her feet, for it flashed across her mind that she had never before seen a rabbit with either a waistcoat-pocket, or a watch to take out of it, and burning with curiosity, she ran across the field after it, and fortunately was just in time to see it pop down a large rabbit-hole under the hedge."   I'm trying to create a Markov chain with this code I have here (markov.py) but the program won't run because it doesn't have a direct path to "Test.txt".  Can you help me fix this issue?…
dont use chatgbt to solve this question please and thank you.

Chapter 18 Solutions

Starting Out with C++ from Control Structures to Objects Plus MyLab Programming with Pearson eText -- Access Card Package (9th Edition)

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
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr