2014-02-17 51 views
-1
class node: 
    def __init__(self): 
     self.value=None 
     self.pointer=None 

    def setvalue(self,x): 
     self.value=x 
    def setpointer(self,node): 
     self.pointer=node 

    def show(self): 
     print self.nodes 
     print self.value 

class linkedlist: 
    def __init__(self): 
     self.nodes=[] 

    def addnode(self,nodevalue): 
     newnode=node() 
     newnode.setvalue(nodevalue) 
     self.nodes[-1].setpointer(newnode) 

    def removenode(self,nodeposition): 
     if nodeposition==0: 
      self.nodes[1:] 
     else: 
      self.nodes[0:nodepostion:1]+self.nodes[(nodespostion+1):] 

item=linkedlist() 
item.addnode(2) 
+2

具體是什麼問題? – shuttle87

+0

其中,您可以訪問node.print中的self.nodes,但您從不在節點中的任何其他位置設置self.node。另外,在可以訪問self.nodes [-1]之前,您可能需要在linkedlist.addnode()中使用'self.nodes.append(newnode)'。 –

+0

@Markku_K謝謝,所以我應該把它放在一個班級? – user3281113

回答

0

您不必使用此實現,python列表更容易。

試着像你這樣linkedlist.nodes

self.nodes=[] 

創建列表和

nodes.append(nodevalue) 

添加到它當我執行你的代碼,有一個例外,在這一行

self.nodes[-1].setpointer(newnode) 

列表在負指數處沒有值。

有關列表的更多信息,請參閱tutorials point - python lists

相關問題