class _ListNode:
def __init__(self, value, next_):
self._data = value
self._next = next_
return
class List:
def __init__(self):
self._front = None
self._count = 0
return
def _linear_search(self,key):
previous = None
current = self._front
index = 0
while current is not None and key > current._data:
previous = current
current = current._next
index += 1
if current._data != key:
previous = None
current = None
index = -1
return previous, current, index
def __contains__(self, key):
_, _, i = self._linear_search(key)
return i != -1
def append(self, value):
if self._front is None:
self._front = _ListNode(value,None)
else:
self._front._next = _ListNode(value,None)
self._count += 1
l = List()
lst = [1,2,3,4]
i = 0
n = len(lst)
while i < n:
l.append(lst[i])
i += 1
print("{}".format(l.__contains(3))
詳細は、線形検索メソッドとcontainsメソッドを実装します。 containsメソッドは、数値がリストにあるかどうかをチェックします(trueまたはfalseを返します)。今、私がリスト中の#3をcontainsメソッドを使ってチェックする必要があるとき、答えはfalseです!!私は何が問題なのか分からないリンクリストの追加メソッド
問題を再現するために実際に使用できる[mcve]を付けてください。 – jonrsharpe
それは本当に役に立たなかった。ヘルプセンターのリンク先ページをお読みください。あなたの質問からコードをコピーアンドペーストして実行し、あなたが記述したものと同じ出力を見ることができるはずです。 – jonrsharpe
あなたの編集はあなたのコードを改善しましたが、 'List'を出力するメソッドがまだありません。そのコードを実行すると、 'print(l)'は '<__ main __。List instance at 0x283A148>'のようなものを出力します。 – vyrp