Problem Solving with C++ (10th Edition)
Problem Solving with C++ (10th Edition)
10th Edition
ISBN: 9780134448282
Author: Walter Savitch, Kenrick Mock
Publisher: PEARSON
bartleby

Concept explainers

Question
Book Icon
Chapter 13.1, Problem 3STE
Program Plan Intro

Linked list:

  • Linked list denotes a linear data structure.
  • The elements are not stored at contiguous locations; the elements are linked using pointers.
  • It stores linear data of similar types not like arrays.
  • The size of linked list can be changed based on requirement.
  • It is represented by a pointer to first linked list node.
  • The first node denotes a head.
  • If linked list is empty, value of head is NULL.
  • The node in a list has two parts, data and pointer to next node.

Given code:

//Define a structure

struct Box

{

//Declare variable

string name;

//Declare variable

int number;

//Define pointer to next

Box *next;

};

//Create an instance

BoxPtr head;

//Assign value

head = new Box;

//Assign value

head->name = "Sally";

//Assign value

head->number = 18;

//Assign value

head->next = NULL;

//Display value

cout << (*head).name << endl;

//Display value

cout << head->name << endl;

//Display value

cout << (*head).number << endl;

//Display value

cout << head->number << endl;

Explanation:

  • The “Box” defines a structure with “name” and “number” as members.
  • It contains a pointer to next element of list.
  • The “BoxPtr head” creates an instance of structure.
  • A new “Box” element is created.
  • The values of “name” and “number” are been set.
  • The values of “name” and “number” are been displayed.
  • The member variable next to the node is been set to NULL.

Complete program:

//Include libraries

#include<iostream>

#include<string>

//Use namespace

using namespace std;

//Define a structure

struct Box

{

//Declare variable

string name;

//Declare variable

int number;

//Define pointer to next

Box *next;

};

//Define instance

typedef Box* BoxPtr;

//Define main method

void main()

{

//Create an instance

BoxPtr head;

//Assign value

head = new Box;

//Assign value

head->name = "Sally";

//Assign value

head->number = 18;

//Display value

cout << (*head).name << endl;

//Display value

cout << head->name << endl;

//Display value

cout << (*head).number << endl;

//Display value

cout << head->number << endl;

//Delete

delete head;

//Display message

cout<<"List head is been destroyed"<<endl;

//Pause console window

system("pause");

}

Explanation:

  • The “Box” defines a structure with “name” and “number” as members.
  • It contains a pointer to next element of list.
  • Define a main method
    • The “BoxPtr head” creates an instance of structure.
    • A new “Box” element is created.
    • The values of “name” and “number” are been set.
    • The values of “name” and “number” are been displayed.
    • The member variable next to the node is been set to NULL.
    • The linked list is been destroyed using “delete” statement.

Blurred answer
Students have asked these similar questions
Please add a destructor to the code. Solve this in C++
Assume that you need to organize the data of books. Existing books should be rearranged so that only one side of the shelf is empty, or new volumes should be placed there. In this case, what would be the best data structure? Make it possible to dynamically implement the process of adding books to the bookcase. Furthermore, what is the circumstance where fresh data need to be entered into a data structure, but there is no room?
Suppose that an array is passed as a parameter. How does this differ from the usual use of a value parameter? When an array is passed as a parameter, it is like passed by reference. A new array will be created in the called function and any changes to the new array will pass back to the original array. When an array is passed as a parameter, it is passed by value. So any changes to the parameter do not affect the actual argument. When an array is passed as a parameter, changes to the array affect the actual argument. This is because the parameter is treated as a pointer that points to the first component of the array. This is different from a value parameter (where changes to the parameter do not affect the actual argument). When an array is passed as a value, changes to the array affect the actual argument. This is because the parameter is treated as a pointer that points to the first component of the array. This is different from a parameter (where changes to the parameter do not…
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