私は、リンクされたリストのクラスを扱っています。以下の私のコード:Python Linked Listの問題
#!/usr/bin/env python
# -*- coding: utf-8 -*-
class Item(object):
def __init__(self, data, next_item = None):
self.data = data
self.next_item = next_item
def get_item(self):
return self.data
def set_next(self, setnext):
self.next_item = setnext
def get_next(self):
return self.next_item
class LinkedList(object):
def __init__(self):
self.head = None
def add(self,item):
temp = Item(item)
temp.set_next(self.head)
self.head = temp
def find(self, item):
current = self.head
while current != None:
if current == item:
print "Found It!"
else:
current = current.get_next()
def print_list(self):
node = self.head
while node:
print node.get_item()
node = node.get_next()
def size(self):
counter = 0
current = self.head
while current != None:
counter += 1
current = current.get_next()
print counter
def insert(self,item,lpos):
current = self.head
while current != lpos:
current = current.get_next()
if current == None:
return None
else:
item_insert = Item(item, lpos.next_item())
lpos.set_next(item_insert)
myList = LinkedList()
myList.add(1)
myList.add(2)
myList.add(3)
myList.insert(8,2)
私はこのコードを実行すると方法(挿入)は次のエラーで失敗します。insertメソッドは、あなたがAであなたのリンクリストにノードを追加することができます
Traceback (most recent call last):
File "main.py", line 72, in <module>
myList.insert(8,2)
File "main.py", line 56, in insert
item_insert = Item(item, lpos.Item.next_item())
AttributeError: 'int' object has no attribute 'Item'
インサートを考慮して、適切なポインタを並べ替えて実行します。
お知らせください!
エラーメッセージの行を削除したようです。 – user2357112
トレースバックをコピーし、最も重要な情報、つまり例外自体をスキップするのはなぜですか? –
@Rogalski申し訳ありませんが、私はそれを間違って切り捨てました。私は今それを追加しました – Paul