Question: In python How can I take this information and use it to make a doubly linked list # Implementing the node class class Node: def

In python

How can I take this information and use it to make a doubly linked list

# Implementing the node class class Node: def __init__(self,initdata): self.data = initdata self.next = None

def getData(self): return self.data

def getNext(self): return self.next

def setData(self,newdata): self.data = newdata

def setNext(self,newnext): self.next = newnext # Implementing the linked lists class linkedLists: def __init__(self): self.head = None

def isEmpty(self): return self.head == None

def add(self,item): temp = Node(item) temp.setNext(self.head) self.head = temp

def size(self): current = self.head count = 0 while current != None: count = count + 1 current = current.getNext() return count

def search(self,item): current = self.head found = False while current != None and not found: if current.getData() == item: found = True else: current = current.getNext() return found

def remove(self,item): current = self.head previous = None found = False while not found: if current.getData() == item: found = True else: previous = current current = current.getNext() if previous == None: self.head = current.getNext() else: previous.setNext(current.getNext())

def __str__(self): list_str = "head" current = self.head while current != None: list_str = list_str + "->" + str(current.getData()) current = current.getNext() list_str = list_str + "->" + str(None) return list_str

def append(self, item): current = self.head while current.getNext() != None: current = current.getNext() temp = Node(item) temp.setNext(current.getNext()) current.setNext(temp)

def getIndex(self, item): index = 0 current = self.head found = False while current != None: if current.getData() == item: found = True break else: current = current.getNext() index += 1 if not found: index = None return index

def getItem(self, index): current = self.head for i in range(index): current = current.getNext() if current != None: return current.getData() else: raise("out of range")

def pop(self, index): self.remove(self.getItem(index))

def insert(self, index, item): current = self.head for i in range(index): current = current.getNext()

if current != None: temp = Node(item) temp.setNext(current.getNext()) current.setNext(temp) else: raise(" out of range")

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!