python python中的链表实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 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

以上是关于python python中的链表实现的主要内容,如果未能解决你的问题,请参考以下文章

python中的链表

LeetCode第138题—复制带随机指针的链表—Python实现

python中的链表推导式

python 嵌入在python字典中的链表,用于快速引用

python实现链表

Leetcode刷题Python138. 复制带随机指针的链表