8.17 LAB: Inventory (linked lists: insert at the front of a list) C++   Given main(), define an InsertAtFront() member function in the InventoryNode class that inserts items at the front of a linked list (after the dummy head node). Ex. If the input is: 4 plates 100 spoons 200 cups 150 forks 200 the output is: 200 forks 150 cups 200 spoons 100 plates   InventoryNode.h #include #include using namespace std; class InventoryNode { private: string item; int numberOfItems; InventoryNode *nextNodeRef; public: //Constructor InventoryNode() { this->item = ""; this->numberOfItems = 0; this->nextNodeRef = NULL; } //Constructor InventoryNode(string itemInit, int numberOfItemsInit) { this->item = itemInit; this->numberOfItems = numberOfItemsInit; this->nextNodeRef = NULL; } //Constructor InventoryNode(string itemInit, int numberOfItemsInit, InventoryNode nextLoc) { this->item = itemInit; this->numberOfItems = numberOfItemsInit; this->nextNodeRef = &nextLoc; } // TODO: Define an insertAtFront() method that inserts a node at the // front of the linked list (after the dummy head node) //Get the next node InventoryNode *GetNext() { return this->nextNodeRef; } //Print node data void PrintNodeData() { cout << this->numberOfItems << " " << this->item << endl; } };   main.ccp   #include "InventoryNode.h" int main() { int count; int numItems; string item; InventoryNode *headNode = new InventoryNode(); InventoryNode *currNode; // Obtain number of items cin >> count; // Get each item and number of each for (int i = 0; i < count; i++) { cin >> item; cin >> numItems; currNode = new InventoryNode(item, numItems); currNode->InsertAtFront(headNode, currNode); } // Print linked list currNode = headNode->GetNext(); while (currNode != NULL) { currNode->PrintNodeData(); currNode = currNode->GetNext(); } return 0; }

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter17: Linked Lists
Section: Chapter Questions
Problem 18SA
icon
Related questions
icon
Concept explainers
Question

8.17 LAB: Inventory (linked lists: insert at the front of a list) C++

 

Given main(), define an InsertAtFront() member function in the InventoryNode class that inserts items at the front of a linked list (after the dummy head node).

Ex. If the input is:

4
plates 100
spoons 200
cups 150
forks 200

the output is:

200 forks
150 cups
200 spoons
100 plates
 
InventoryNode.h

#include <iostream>
#include <string>
using namespace std;

class InventoryNode {
private:
string item;
int numberOfItems;
InventoryNode *nextNodeRef;

public:
//Constructor
InventoryNode() {
this->item = "";
this->numberOfItems = 0;
this->nextNodeRef = NULL;
}

//Constructor
InventoryNode(string itemInit, int numberOfItemsInit) {
this->item = itemInit;
this->numberOfItems = numberOfItemsInit;
this->nextNodeRef = NULL;
}

//Constructor
InventoryNode(string itemInit, int numberOfItemsInit, InventoryNode nextLoc) {
this->item = itemInit;
this->numberOfItems = numberOfItemsInit;
this->nextNodeRef = &nextLoc;
}


// TODO: Define an insertAtFront() method that inserts a node at the
// front of the linked list (after the dummy head node)


//Get the next node
InventoryNode *GetNext() {
return this->nextNodeRef;
}

//Print node data
void PrintNodeData() {
cout << this->numberOfItems << " " << this->item << endl;
}
};

 

main.ccp

 

#include "InventoryNode.h"

int main() {
int count;
int numItems;
string item;

InventoryNode *headNode = new InventoryNode();
InventoryNode *currNode;

// Obtain number of items
cin >> count;

// Get each item and number of each
for (int i = 0; i < count; i++) {
cin >> item;
cin >> numItems;
currNode = new InventoryNode(item, numItems);
currNode->InsertAtFront(headNode, currNode);
}

// Print linked list
currNode = headNode->GetNext();
while (currNode != NULL) {
currNode->PrintNodeData();
currNode = currNode->GetNext();
}

return 0;
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Types of Linked List
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
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning