我使用以下代碼來定義我的鏈表、節點和一些函式。
class node:
def __init__(self,node_data):
self.__data=node_data
self.__next=None
def get_data(self):
return self.__data
def set_data(self,node_data):
self.__data=node_data
data=property(get_data,set_data)
def get_next(self):
return self.__next
def set_next(self,node_next):
self.__next=node_next
next=property(get_next,set_next)
def __str__(self):
return str(self.__data)
class unordered_list:
def __init__(self):
self.head=None
def is_empty(self):
return self.head==None
def add(self,item):
temp=node(item)
temp.set_next=(self.head)
self.head=temp
def size(self):
current=self.head
count=0
while current is not None:
count=count 1
current=current.next
return count
def search(self,item):
current=self.head
while current is not None:
if current.data==item:
return True
current=current.next
return False
我使用以下代碼設定測驗串列:
my_list=unordered_list()
my_list.add(31)
my_list.add(77)
my_list.add(17)
my_list.add(93)
my_list.add(26)
my_list.add(54)
但是,當我運行以下命令時,我沒有得到正確的輸出:-
my_list.size()
輸出:
1
預期輸出:-
6
有人可以告訴我我的錯誤可能在哪里嗎?
uj5u.com熱心網友回復:
你需要打電話 set_next,而不是給它分配東西。所以嘗試更換
temp.set_next=self.head
和
temp.set_next(self.head)
在你的定義中add。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/474869.html
上一篇:有人可以解釋x如何傳遞給函式f
