-
Notifications
You must be signed in to change notification settings - Fork 0
/
linkedlist_delete.py
50 lines (49 loc) · 1.34 KB
/
linkedlist_delete.py
1
2
3
4
5
6
7
8
9
10
11
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
42
43
44
45
46
47
48
49
50
class Node:
def __init__(self,data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def prin(self):
tmp = self.head
while tmp:
print(tmp.data)
tmp =tmp.next
def insert(self,value):
new_node = Node(value)
if self.head == None:
self.head = new_node
else:
tmp = self.head
while tmp.next is not None:
tmp = tmp.next
tmp.next = new_node
def insertbe(self,value):
new_node = Node(value)
new_node.next = self.head
self.head = new_node
def delete(self,value):
tmp = self.head
if (tmp is not None):
if (tmp.data == value):
self.head = tmp.next
tmp.next = None
return
while(tmp is not None):
if tmp.data == value:
break
prev = tmp
tmp = tmp.next
if tmp == None:
return
prev.next = tmp.next
tmp.next = None
if __name__ =='__main__':
LinkedLists = LinkedList()
LinkedLists.insert(3)
LinkedLists.insert(2)
LinkedLists.insert(1)
LinkedLists.insertbe(0)
LinkedLists.delete(9)
LinkedLists.prin()