Professional Documents
Culture Documents
Bai
Bai
class DoublyLinkedList:
def __init__(self):
self.head = None
current = self.head
while current:
if current.data == data_after:
new_node = DoublyNode(data)
new_node.next = current.next
current.next = new_node
new_node.previous = current
if new_node.next:
new_node.next.previous = new_node
return
current = current.next
def print_forward(self):
current = self.head
while current:
print(current.data, end=" ")
current = current.next
print()
def print_backward(self):
current = self.head
while current and current.next:
current = current.next
while current:
print(current.data, end=" ")
current = current.previous
print()
Mylist = DoublyLinkedList()
Mylist.push(1)
Mylist.append(2)
Mylist.push(3)
print(Mylist.head.data)
Mylist.print_forward()
Mylist.insert_after(1,100)
Mylist.print_forward()
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def append(self, data):
new_node = Node(data)
if not self.head:
self.head = new_node
else:
current = self.head
while current.next:
current = current.next
current.next = new_node
def push(self, new_data):
new_node = Node(new_data)
new_node.next = self.head
self.head = new_node
def insert_at_position(self, data, position):
new_node = Node(data)
if position == 1:
push(self, data)
return
else:
current = self.head
count = 1
while count < position - 1 and current is not None:
current = current.next
count +=1
new_node.next = current.next
current.next = new_node
def inra(self, so):
dem = 1
current = self.head
while dem < so:
current = current.next
dem +=1
print (current.data)
def display(self):
current = self.head
while current:
print(current.data, end= "->")
current = current.next
print("None")
my_list = LinkedList()
my_list.append(1)
my_list.append(2)
my_list.append(3)
my_list.insert_at_position(100,3)
my_list.inra(3)