Write a code that : - Accepts integers as inputs and append them to the doubly linked list till it receives -1 - Then swaps the head and the second node in the created doubly linked list - Note: you should check: - If it is an empty linked list and then print('Empty!') - your algorithm should work for a link list with a single node (and should return the same list for that case!) Some of the code in main.py has been written below: class Node: def __init__(self, data): self.data = data self.next = None self.prev = None # Empty Doubly Linked List class DoublyLinkedList: def __init__(self): self.head = None # Inserts a new node on the front of list def append(self, new_data): if self.head == None: self.head = new_data self.tail = new_data else: self.tail.next = new_data new_data.prev = self.tail self.tail = new_data def printList(self): node = self.head while(node is not None): print(node.data), node = node.next def swap(self): # ** Your code goes here ** return if __name__ == '__main__': # ** Your code goes here ** LL.swap() LL.printList()

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Write a code that : - Accepts integers as inputs and append them to the doubly linked list till it receives -1 - Then swaps the head and the second node in the created doubly linked list - Note: you should check: - If it is an empty linked list and then print('Empty!') - your algorithm should work for a link list with a single node (and should return the same list for that case!)

Some of the code in main.py has been written below:

class Node:
def __init__(self, data):
self.data = data
self.next = None
self.prev = None

# Empty Doubly Linked List
class DoublyLinkedList:
def __init__(self):
self.head = None

# Inserts a new node on the front of list

def append(self, new_data):
if self.head == None:
self.head = new_data
self.tail = new_data
else:
self.tail.next = new_data
new_data.prev = self.tail
self.tail = new_data

def printList(self):
node = self.head
while(node is not None):
print(node.data),
node = node.next

def swap(self):

# ** Your code goes here **
return

if __name__ == '__main__':

# ** Your code goes here **

LL.swap()
LL.printList()

 

Expert Solution
steps

Step by step

Solved in 4 steps with 3 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY