Cem đang gặp chút rắc rối về chương trình danh sách liên kết kép, ai đó giúp em với!!
class Node(object):
def __init__(self, element, next, previous):
self.element=element
self.next=next
self.previous=previous
import Node
class Doubly_Linked_List(object):
def __init__(self):
self.header=Node.Node(None, None, None)
self.trailer=Node.Node(None, None, None)
self.header.next=self.trailer
self.trailer.previous=self.header
self.size=0
def len(self):
return self.size
def is_empty(self):
return self.size==0
def insert_beetween(self, e, predecessor, successor):
new_node=Node.Node(e, predecessor, successor)
predecessor.next=new_node
successor.previous=new_node
self.size+=1
return new_node
def delete_node(self, node):
predecessor=node.previous
successor=node.next
predecessor.next=successor
successor.previous=predecessor
self.size-=1
element=node.element
node.previous=None
node.next=None
node.element=None
return element
def show_node(self, node):
if node.element!=None:
return "element: "+str(node.element)+"predecessor: "+str(node.previous.element)+"successor: "+str(node.next.element)
else:
return "header or trailer sentinels"
def display(self):
elements=[]
e=self.header.next
while e.element!=None:
elements.append(e.element)
e=e.next
return elements
import Doubly_Linked_List
if __name__=='__main__':
DLL=Doubly_Linked_List.Doubly_Linked_List()
print("header ID"+str(DLL.header))
print("trailer ID"+str(DLL.trailer))
print(DLL.size)
print(DLL.header.next)
print(DLL.trailer.previous)
print("_"*40)
object1=DLL.insert_beetween('object1', DLL.header, DLL.trailer)
print(DLL.size)
print(DLL.display())
print("_"*40)
mark_349=DLL.insert_beetween(349, object1, DLL.trailer)
print(DLL.size)
print(DLL.display())
object2=DLL.insert_beetween('object2', object1, 349)
print(DLL.size)
print(DLL.display())
print(DLL.show_node(object2))
Console
pydev debugger: starting (pid: 10812)
header ID<Node.Node object at 0x03D4B2D0>
trailer ID<Node.Node object at 0x03D4B310>
0
<Node.Node object at 0x03D4B310>
<Node.Node object at 0x03D4B2D0>
________________________________________
1
['object1']
________________________________________
2
Vâng cho em hỏi chương trình em sai ở đâu mà khi em thêm Node mới vào và display hay là show node ra vẫn không có gì vậy ạ, lại phiền anh (chị) rồi