What is the implementation of each instruction located in the main function of the following code? This is a sample program, i am trying to teach myself linked list and am having trouble  ------------------------------------------------------------------------------- #include <iostream>#include <string> /*** node* * A node class used to make a linked list structure*/ template<typename type>struct node {node() : data(), next(nullptr) {}node(const type & value, node * link = nullptr) : data(value), next(link) {}type data;node * next;}; /*** print_list* @param list - the linked-list to print out* * Free function that prints out a linked-list space separated.* Templated so works with any node.* Use this for testing your code.*/ template<typename type>void print_list(node<type> * list) { for(node<type> * current = list; current != nullptr; current = current->next) {std::cout << current->data << ' ';}std::cout << '\n';} /*** free_list* @param list - the linked-list whose memory will be freed* * Free function that frees (deletes) a linked-list's memory* Templated so works with any node.*/template<typename type>void free_list(node<type> * list) { node<type> * current = list;while(current != nullptr) {node<type> * temp = current;current = current->next;delete temp;} }   int main() {// create a dynamically allocated linked-list of integers with the values (42 12 7 9)// Use print_list to print entire list to verify   // insert a new node in the list with value 1024 betweeen the nodes with values 12 and 7// Use print_list to print entire list to verify   // remove the node with value 12 from the list// make sure no memory leaks// Use print_list to print entire list to verify   // free the integer list // dynamically allocate a list of std::string with the values (As, you, wish)// Use print_list to print entire list to verify   // Replace (you) with (pie) by deleting the node with value (you) and// inserting a new node with value (pie)// Use print_list to print entire list to verify     // remove the node with value (wish) from the list// make sure no memory leaks// Use print_list to print entire list to verify   // Insert a node with value (Easy) at front of list// Use print_list to print entire list to verify   // free list of std::string return 0;}

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

What is the implementation of each instruction located in the main function of the following code?

This is a sample program, i am trying to teach myself linked list and am having trouble 

-------------------------------------------------------------------------------

#include <iostream>
#include <string>

/**
* node
*
* A node class used to make a linked list structure
*/


template<typename type>
struct node {
node() : data(), next(nullptr) {}
node(const type & value, node * link = nullptr) : data(value), next(link) {}
type data;
node * next;
};

/**
* print_list
* @param list - the linked-list to print out
*
* Free function that prints out a linked-list space separated.
* Templated so works with any node.
* Use this for testing your code.
*/


template<typename type>
void print_list(node<type> * list) {

for(node<type> * current = list; current != nullptr; current = current->next) {
std::cout << current->data << ' ';
}
std::cout << '\n';
}

/**
* free_list
* @param list - the linked-list whose memory will be freed
*
* Free function that frees (deletes) a linked-list's memory
* Templated so works with any node.
*/
template<typename type>
void free_list(node<type> * list) {

node<type> * current = list;
while(current != nullptr) {
node<type> * temp = current;
current = current->next;
delete temp;
}
}

 

int main() {

// create a dynamically allocated linked-list of integers with the values (42 12 7 9)
// Use print_list to print entire list to verify

 

// insert a new node in the list with value 1024 betweeen the nodes with values 12 and 7
// Use print_list to print entire list to verify

 

// remove the node with value 12 from the list
// make sure no memory leaks
// Use print_list to print entire list to verify

 

// free the integer list


// dynamically allocate a list of std::string with the values (As, you, wish)
// Use print_list to print entire list to verify

 

// Replace (you) with (pie) by deleting the node with value (you) and
// inserting a new node with value (pie)
// Use print_list to print entire list to verify

 

 

// remove the node with value (wish) from the list
// make sure no memory leaks
// Use print_list to print entire list to verify

 



// Insert a node with value (Easy) at front of list
// Use print_list to print entire list to verify

 


// free list of std::string

return 0;
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 3 images

Blurred answer
Knowledge Booster
Stack
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
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education