ノードを二重リンクリストに挿入しようとしています。操作を実行した後、正しい結果が得られません。二重リンクリストのノードの前に挿入
class createnode:
def __init__(self,data):
self.data=data
self.next=None
self.prev=None
class Unordered_list:
def __init__(self):
self.head=None
######Insertion at the starting###
def buildlst(self,data):
node=createnode(data)
if self.head is None:
self.head=node
else:
node.next=self.head
node.prev=None
self.head=node
#######INsertion at the end####
def buildlstend(self,data):
node=createnode(data)
ptr=self.head
while(ptr.next):
ptr=ptr.next
ptr.next=node
ptr=node.prev
#######INsertion before some node i.e searched node####
def insertbeforenode(self,data,srch_data):
node=createnode(data)
ptr=self.head
while(ptr):
if ptr.data==srch_data:
node.prev=ptr.prev
node.next=ptr
ptr.prev=node
ptr=ptr.next
########Printitng the list########
def printlist(self):
temp=self.head
while(temp):
print(temp.data)
temp=temp.next
A=Unordered_list()
A.buildlst(10)
A.buildlst(20)
A.buildlstend(30)
A.printlist()
print("Here i will insert a new node 50 before 10")
A.insertbeforenode(50,10)
A.printlist()
マイリスト20,10,30.Iが10.but前に新しいノードを持つようにしたいようにそれは、このリンクを介してInserting a node before a given node in doubly linked list .MYプログラムとなって同じresults.Haveがcouldnので、Pythonである私を出力するものいくつかを見て.tはそれから多くを集める。 insertbeforenodeは私が電話をかけている場所です。
これはなぜPythonタグとCタグの両方にクロスポストされていますか? Pythonにはリストが組み込まれているので、 "正しい方法"は2つの言語では非常に異なっています。 – torek