Skip to content

Commit 4a8e834

Browse files
committed
Adding Data Structure foundation
Added a python linked_list example
1 parent 565b5d3 commit 4a8e834

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
class node:
2+
def __init__(self):
3+
self.data = None
4+
self.next = None
5+
6+
class linked_list:
7+
def __init__(self):
8+
self.head = None
9+
10+
def add(self, data):
11+
new_node = node()
12+
new_node.data = data
13+
new_node.next = self.head
14+
self.head = new_node
15+
16+
def remove(self, data):
17+
18+
prev = None
19+
node = self.head
20+
while node:
21+
if node.data == data:
22+
if prev:
23+
prev.next = node.next
24+
else:
25+
self.head = node.next
26+
return True
27+
prev = node
28+
node = node.next
29+
return False
30+
31+
def list_print(self):
32+
node = self.head
33+
while node:
34+
print node.data
35+
node = node.next
36+
37+
def search_data(self, data):
38+
node = self.head
39+
while node:
40+
if (node.data == data):
41+
return True
42+
node = node.next
43+
return False
44+
45+
# Creating the list
46+
ll = linked_list()
47+
48+
# Adding elements
49+
ll.add(1)
50+
ll.add(2)
51+
ll.add(3)
52+
53+
# Printing the list
54+
ll.list_print()
55+
56+
ll.remove(3)
57+
58+
# Printing the list after removing element
59+
ll.list_print()
60+
61+
# Searching for an element that doesn't exist
62+
ll.search_data(20)

0 commit comments

Comments
 (0)