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 4STE
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 ListNode

{

//Declare variable

string item;

//Declare variable

int count;

//Define next node

ListNode *link;

};

//Create instance

ListNode *head = new ListNode;

Explanation:

  • The “ListNode” defines a structure with “item” and “count” as members.
  • It has a pointer “link” to next element of list.
  • The “ListNode *head = new ListNode” creates an instance of structure and a new element is created.

Complete program:

//Include libraries

#include<iostream>

#include<string>

//Use namespace

using namespace std;

//Define a structure

struct ListNode

{

//Declare variable

string item;

//Declare variable

int count;

//Define next node

ListNode *link;

};

//Create instance

ListNode *head = new ListNode;

//Define main method

void main()

{

//Assign value

head->item = "Wilbur's brother Orville";

//Display value

cout << head->item << endl;

//Pause console window

system("pause");

}

Explanation:

  • The “ListNode” defines a structure with “item” and “count” as members.
  • It contains a pointer “link” to next element of list.
  • The “ListNode *head = new ListNode” creates an instance of structure and a new element is created.
  • The main method assigns value to “item” to head of linked list.
  • The value of head of linked list is been displayed.

Blurred answer
Students have asked these similar questions
#ifndef LLCP_INT_H#define LLCP_INT_H #include <iostream> struct Node{   int data;   Node *link;}; bool    DelOddCopEven(Node* headPtr);int    FindListLength(Node* headPtr);bool   IsSortedUp(Node* headPtr);void   InsertAsHead(Node*& headPtr, int value);void   InsertAsTail(Node*& headPtr, int value);void   InsertSortedUp(Node*& headPtr, int value);bool   DelFirstTargetNode(Node*& headPtr, int target);bool   DelNodeBefore1stMatch(Node*& headPtr, int target);void   ShowAll(std::ostream& outs, Node* headPtr);void   FindMinMax(Node* headPtr, int& minValue, int& maxValue);double FindAverage(Node* headPtr);void   ListClear(Node*& headPtr, int noMsg = 0); // prototype of DelOddCopEven of Assignment 5 Part 1 #endif // definition of DelOddCopEven of Assignment 5 Part 1//Algorithm should: /*NOT destroy any of the originally even-valued node.     This means that the originally even-valued nodes should be retained as part of the resulting list.    Destroy…
#ifndef LLCP_INT_H#define LLCP_INT_H #include <iostream> struct Node{   int data;   Node *link;};void DelOddCopEven(Node*& headPtr);int    FindListLength(Node* headPtr);bool   IsSortedUp(Node* headPtr);void   InsertAsHead(Node*& headPtr, int value);void   InsertAsTail(Node*& headPtr, int value);void   InsertSortedUp(Node*& headPtr, int value);bool   DelFirstTargetNode(Node*& headPtr, int target);bool   DelNodeBefore1stMatch(Node*& headPtr, int target);void   ShowAll(std::ostream& outs, Node* headPtr);void   FindMinMax(Node* headPtr, int& minValue, int& maxValue);double FindAverage(Node* headPtr);void   ListClear(Node*& headPtr, int noMsg = 0); // prototype of DelOddCopEven of Assignment 5 Part 1 #endif
this is code  #include <iostream> using namespace std; struct Node {    int data;    struct Node *next; }; struct Node* head = NULL; void insert(int new_data) {    struct Node* new_node = (struct Node*) malloc(sizeof(struct Node));    new_node->data = new_data;    new_node->next = head;    head = new_node; } void display() {    struct Node* ptr;    ptr = head;    while (ptr != NULL) {       cout<< ptr->data <<" ";       ptr = ptr->next;    } } int main() {    insert(3);    insert(1);    insert(7);    insert(2);    insert(9);    cout<<"The linked list is: ";    display();    return 0; } i want Re-implement it on doubly linked list take in account the set-position method and the operator overload and coy constructor and destructor ? in c++
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