我想插入项目对(字母,频率)到一个有序的链接列表。到目前为止,我能够创建排序的链表,但我无法弄清楚如何更新频率并重新排列列表,如果一封信得到两次。插入到有序的链接列表Python和总和重复
到目前为止,我有:
def add(self, letter, frequency):
temp = Frequency(letter, frequency)
curr = self.head
prev = None
stop = False
while curr != None and not stop:
if curr.frequency < temp.frequency:
stop = True
else:
prev = curr
curr = curr.next
if prev == None:
temp.set_next(self.head)
self.head = temp
else:
temp.set_next(curr)
prev.set_next(temp)
f = SortedFrequencyList()
f.add('a', 3)
f.add('b', 5)
f.add('g' 1)
回报
({b: 5}, {a: 3}, {g: 1})
但如果我是做
f = SortedFrequencyList()
f.add('a', 3)
f.add('b', 5)
f.add('g', 1)
f.add('a', 3)
我得到
({b: 5}, {a: 3}, {a: 3}, {g: 1})
代替
({a: 6}, {b: 5}, {g: 1})
关于总和和重排,你试过了什么? – ppperry
你有同样的项目,这个?http://stackoverflow.com/questions/7453939/adding-to-a-linked-list – FBruynbroeck
是的。这是确切的一个 – Mikey