Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

#alika syifa ardabili (41523010139)

#struktur data (menghapus data dari awal linkedlist)

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

class LinkedList:
def _init_(self):
self.head = None

def insertAtBeginning(self, new_data):


new_node = Node(new_data)
new_node.next = self.head
self.head = new_node

def deleteFromBeginning(self):
if self.head is None:
return "The list is empty"
self.head = self.head.next

def deleteFromEnd(self):
if self.head is None:
return "The list is empty"
if self.head.next is None:
self.head = None
return
temp = self.head
while temp.next.next:
temp = temp.next
temp.next = None
None

def insertAtEnd(self, new_data):


new_node = Node(new_data)
if self.head is None:
self.head = new_node
return
last = self.head
while last.next:
last = last.next
last.next = new_node

def search(self, value):


current = self.head
position = 0
while current:
if current.data == value:
return f"Value '{value}' found at position {position}"
current = current.next
position += 1
return f"Value '{value}' not found in the list"

def printList(self):
temp = self.head
while temp:
print(temp.data, end = " ")
temp = temp.next
print()

if _name_ == "_main_":
llist = LinkedList()
llist.insertAtBeginning("fox")
llist.insertAtBeginning("brown")
llist.insertAtBeginning("quick")
llist.insertAtBeginning("the")
llist.insertAtEnd("jumps")
llist.printList()

llist2 = LinkedList()
llist2.insertAtBeginning(2024)
llist2.insertAtBeginning(4)
llist2.insertAtBeginning(1)
llist2.printList()

answer = input("Anda ingin hapus data? (y/n): ")


if answer.lower() == ["yes", "y"]:
llist.deleteFromBeginning()
llist.printAllData()
else:
print("Sampai jumpa!")

answer = input("Anda ingin hapus data? (y/n): ")


if answer.lower() == ["yes", "y"]:
llist.deleteFromEnd()
llist.printAllData()
else:
print("Sampai jumpa!")

print(llist.search('quick'))
print(llist.search('lazy'))

You might also like