Skip to content

Instantly share code, notes, and snippets.

@aljiwala
Created November 29, 2016 05:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aljiwala/a5927d6fb8271af52f2724c3695e1476 to your computer and use it in GitHub Desktop.
Save aljiwala/a5927d6fb8271af52f2724c3695e1476 to your computer and use it in GitHub Desktop.
Linked List Implementation (Python)
class Node :
def __init__( self, data ) :
self.data = data
self.next = None
self.prev = None
class LinkedList :
def __init__( self ) :
self.head = None
def add( self, data ) :
node = Node( data )
if self.head == None :
self.head = node
else :
node.next = self.head
node.next.prev = node
self.head = node
def search( self, k ) :
p = self.head
if p != None :
while p.next != None :
if ( p.data == k ) :
return p
p = p.next
if ( p.data == k ) :
return p
return None
def remove( self, p ) :
tmp = p.prev
p.prev.next = p.next
p.prev = tmp
def __str__( self ) :
s = ""
p = self.head
if p != None :
while p.next != None :
s += p.data
p = p.next
s += p.data
return s
# example code
l = LinkedList()
l.add( 'a' )
l.add( 'b' )
l.add( 'c' )
print l
l.remove( l.search( 'b' ) )
print
print l
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment