You are working on problem set: Lab 4 copy (Pause) i 12-34-1342 ♡ Language/Type: C++ linked lists pointers Write the code that will produce the given "after" result from the given "before" starting point by modifying links between the nodes shown and/or creating new nodes as needed. Assume that the nodes have already been declared and initialized to match the "before" figure below. There may be more than one way to write the code, but do NOT change any existing node's data field value. If a variable does not appear in the "after" picture, it doesn't matter what value it has after the changes are made. If a given node object does not appear in the "After" picture, you must free its memory to avoid a memory leak. Before list: 1 -> 2/ temp: 3-> 4/ After list: 1 -> 3 -> 4 -> 2/ Assume that you are using the following ListNode structure: struct ListNode ( int data; // data stored in this node ListNode* next; // a link to the next node in the list }; ListNode(int data = 8, ListNode next = nullptr) {...} // constructor 2 using namespace std; 3 struct ListNode ( 4 int data; 5 6 7 8 9 田LBH56789812BU5SZS四班1234355初83981 ListNode next; ListNode(int data = 8, ListNode* next = nullptr) { this->data data; this->next next; 18 ); 11 int main() { function-definition is not allowed here before '{"token ListNode list = new ListNode(1, new ListNode (2)); // initial linked list ListNode* temp = new ListNode (3, new ListNode (4)); // temporary linked list // Find the last node in the "list" linked list ListNode* current = list; while (current->next != nullptr) { current current->next; a } } // Add the first node of the "temp" linked list to the end of the "list" linked current->next = temp; // Find the last node in the "temp" linked list while (temp->next != nullptr) { temp temp->next; } // Add the second node of the "list" linked list after the last node in the "temp temp->next = list->next; // Remove the first node in the "list" linked list ListNode toDelete = list; list list->next; delete toDelete; // Print the resulting linked list current = list; while (current != nullptr) { } cout << current->data << "->"; current current->next; cout << "null" << endl; // Free memory current list; while (current != nullptr) { toDelete current;

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
icon
Concept explainers
Question

please fix this error 

You are working on problem set: Lab 4 copy. Pause) i
12-34-1342
Language/Type:
C++ linked lists pointers
Write the code that will produce the given "after" result from the given "before" starting point by
modifying links between the nodes shown and/or creating new nodes as needed. Assume that the nodes
have already been declared and initialized to match the "before" figure below. There may be more than
one way to write the code, but do NOT change any existing node's data field value.
If a variable does not appear in the "after" picture, it doesn't matter what value it has after the changes are
made. If a given node object does not appear in the "After" picture, you must free its memory to avoid a
memory leak.
Before
list: 1 -> 2/
temp: 3 -> 4 /
After list: 1 -> 3 -> 4 -> 2/
Assume that you are using the following ListNode structure:
struct ListNode {
int data;
// data stored in this node
ListNode* next; // a link to the next node in the list
};
ListNode(int data Ø, ListNode* next = nullptr) { ... }
=
// constructor
1 #include <iostream>
problem context error: expected bare code, but found program
2 using namespace std;
3 struct ListNode {
4
int data;
5
ListNode* next;
ListNode (int data = Ø, ListNode* next =
8
9
10 };
11 int main() {
!!a function-definition is not allowed here before '{' token
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
1 42 43
this->data = data;
this->next = next;
}
ListNode* list = new ListNode(1, new ListNode (2)); // initial linked list
ListNode* temp = new ListNode (3, new ListNode (4)); // temporary linked list
// Find the last node in the "list" linked list
ListNode* current = list;
while (current->next != nullptr) {
current = current->next;
}
// Add the first node of the "temp" linked list to the end of the "list" linked list
current->next = temp;
// Find the last node in the "temp" linked list
while (temp->next != nullptr) {
temp = temp->next;
}
// Add the second node of the "list" linked list after the last node in the "temp" linked
temp->next = list->next;
// Remove the first node in the "list" linked list
ListNode* toDelete = list;
list = list->next;
delete toDelete;
// Print the resulting linked list
current = list;
while (current != nullptr) {
cout << current->data << "->";
current = current->next;
nullptr) {
}
cout << "null" << endl;
// Free memory
current = list;
while (current != nullptr) {
toDelete = current;
current = current->next;
delete toDelete;
Transcribed Image Text:You are working on problem set: Lab 4 copy. Pause) i 12-34-1342 Language/Type: C++ linked lists pointers Write the code that will produce the given "after" result from the given "before" starting point by modifying links between the nodes shown and/or creating new nodes as needed. Assume that the nodes have already been declared and initialized to match the "before" figure below. There may be more than one way to write the code, but do NOT change any existing node's data field value. If a variable does not appear in the "after" picture, it doesn't matter what value it has after the changes are made. If a given node object does not appear in the "After" picture, you must free its memory to avoid a memory leak. Before list: 1 -> 2/ temp: 3 -> 4 / After list: 1 -> 3 -> 4 -> 2/ Assume that you are using the following ListNode structure: struct ListNode { int data; // data stored in this node ListNode* next; // a link to the next node in the list }; ListNode(int data Ø, ListNode* next = nullptr) { ... } = // constructor 1 #include <iostream> problem context error: expected bare code, but found program 2 using namespace std; 3 struct ListNode { 4 int data; 5 ListNode* next; ListNode (int data = Ø, ListNode* next = 8 9 10 }; 11 int main() { !!a function-definition is not allowed here before '{' token 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 1 42 43 this->data = data; this->next = next; } ListNode* list = new ListNode(1, new ListNode (2)); // initial linked list ListNode* temp = new ListNode (3, new ListNode (4)); // temporary linked list // Find the last node in the "list" linked list ListNode* current = list; while (current->next != nullptr) { current = current->next; } // Add the first node of the "temp" linked list to the end of the "list" linked list current->next = temp; // Find the last node in the "temp" linked list while (temp->next != nullptr) { temp = temp->next; } // Add the second node of the "list" linked list after the last node in the "temp" linked temp->next = list->next; // Remove the first node in the "list" linked list ListNode* toDelete = list; list = list->next; delete toDelete; // Print the resulting linked list current = list; while (current != nullptr) { cout << current->data << "->"; current = current->next; nullptr) { } cout << "null" << endl; // Free memory current = list; while (current != nullptr) { toDelete = current; current = current->next; delete toDelete;
Expert Solution
Step 1

Answer:

We have fix the error in code and now perfect working and giving correct output 

We have add some logic 

In the line number 13

temp->next->next=head->next

In the line number 14

head->next=temp;

For the more details see the full code .

trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

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
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