Problem Solving with C++ (10th Edition)
Problem Solving with C++ (10th Edition)
10th Edition
ISBN: 9780134521176
Author: SAVITCH
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
Is that the case?Pointers or references are required for virtual functions that are dynamically bound.
Is this true?Dynamically bound virtual functions need pointers or references.
Indicate whether or not the following is true:When it comes to dynamically bound virtual functions, only pointers and references are acceptable.
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++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr