首页 > 解决方案 > 在 Python 中排序 LinkedList

问题描述

我目前正在尝试按分数排序(使用冒泡排序)人员和分数的 LinkedList。

    def __init__(self, data):
        self.label = data[0][0]
        self.value = data[0][1]
        self.tail = None if (len(data) == 1) else LinkedList(data[1:])

    def bubbleSort(self):
        for passnum in range(len(self)-1,0,-1):
            for i in range(passnum):
                if self[i]>self[i+1]:
                    temp = self[i]
                    self[i] = self[i+1]
                    self[i+1] = temp

scores = LinkedList([("person a",146),("person b",564),("person c",84)])
scores.bubbleSort()

但是,我收到此错误:

TypeError: object of type 'LinkedList' has no len()

为方便起见,我已经大幅缩减了列表,但我需要做的是最终根据人员得分按降序打印完整列表。

我对 Python 世界(以及一般编程!)非常陌生,因此非常感谢任何帮助。

标签: pythonsortinglinked-listbubble-sort

解决方案


推荐阅读