如何在不使用任何内置函数的情况下实现Priority Queue?

伊克斯特布

这是我有史以来第一个提出的问题,因此格式化等可能会有些偏离。请不要恨我:)

因此,我正在做的是创建一个称为PQUEUE的类,而我已经拥有的是:

class qNode:
    def __init__(self,data=None, next=None):
        self.data = data
        self.next = next
    def __str__(self):
        return str(self.data)

class PQUEUE:

    def __init__(self):
        self.head = None
        self.foot = None

    def push(self, value=None, priority=0):
        #This is what I want to make

    def pop(self):
        x = self.front.data
        self.front = self.front.next
        return x

    def clear(self):
        self._head = None
        self._foot = None

我试图使Priority Queue类(如您所见)不使用heapq / queue类或内置列表方法。

我不知道该怎么做。我尝试过在网上到处搜索,但是我发现人们到处都可以通过导入或使用内置列表方法来进行搜索。

帮助非常感谢!:)

韦恩·沃纳(Wayne Werner)

这取决于您对优先级的定义,但是您将不得不自己遍历集合,寻找插入下一个节点的位置:

node = self.head
while node.next and node.next.priority > priority:
    node = node.next

if node.next is None:
    node.next = qNode(value=value, next=None, priority=priority)
    self.foot = node.next
else:
    new_node = qNode(value=value, next=node.next, priority=priority)
    node.next = new_node

你必须一个添加priority到你的qNode,当然,你可能需要调整正是你要去的地方插入,但是这应该让你最那里的方式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不使用任何内置php函数的情况下搜索字符串中的连续重复字符?

来自分类Dev

C ++:如何在不使用任何内置函数的情况下将字符串转换为整数

来自分类Dev

如何在不使用任何内置函数的情况下在数组中插入元素

来自分类Dev

如何在不使用标准C库的情况下使用编译器内置函数

来自分类Dev

如何在不使用unity内置函数的情况下围绕对象旋转?

来自分类Dev

如何在不使用MATLAB中内置函数的情况下进行10倍交叉验证?

来自分类Dev

如何在不使用内置函数的情况下预测KNN分类器

来自分类Dev

如何在不使用 Javascript 中的内置函数的情况下进行过滤?

来自分类Dev

如何在不使用内置函数的情况下从python中的数组中删除元素

来自分类Dev

如何在不使用任何内置函数且不使用循环的情况下生成类似转置的矩阵?

来自分类Dev

使用 PHP 实现 QUEUE

来自分类Dev

如何在c中不使用任何递归函数的情况下遍历目录?

来自分类Dev

在不使用Matlab内置函数的情况下,RGB图像上的颜色直方图的实现示例

来自分类Dev

Sorting Priority Queue in Java

来自分类Dev

C ++ priority_queue

来自分类Dev

如何在不使用C#中内置函数Rank的情况下获取数组的维数?

来自分类Dev

如何在不使用“使用 System.Security.Cryptography”的情况下在字符串上实现 md5;或任何其他内置方法 - C#

来自分类Dev

如何在不使用内置 c# 方法的情况下反转字符串

来自分类Dev

如何在不使用函数或类的情况下重复代码段以实现C ++中的高性能循环

来自分类Dev

如何在不使用内置函数的情况下在matlab中翻转图像?

来自分类Dev

我应该如何更正这个 priority_queue 比较函数?

来自分类Dev

如何获得priority_queue的比较类型?

来自分类Dev

如何在不使用“ rtrim”和“ substr”等内置函数的情况下从此字符串中删除最后一个逗号(,)

来自分类Dev

如何在不使用任何操作类的情况下使用Struts2约定

来自分类Dev

如何在Laravel中使用Event :: queue?

来自分类Dev

如何在不使用numpy在python中使用for循环的情况下实现矩阵映射?

来自分类Dev

如何在任何类中创建比较器函数,就像我们在C ++ STL中创建priority_queue一样

来自分类Dev

如何在不使用任何循环的情况下从PHP中的数组获取偶数键值

来自分类Dev

如何在不使用Java进行任何缓冲的情况下读取文件?

Related 相关文章

  1. 1

    如何在不使用任何内置php函数的情况下搜索字符串中的连续重复字符?

  2. 2

    C ++:如何在不使用任何内置函数的情况下将字符串转换为整数

  3. 3

    如何在不使用任何内置函数的情况下在数组中插入元素

  4. 4

    如何在不使用标准C库的情况下使用编译器内置函数

  5. 5

    如何在不使用unity内置函数的情况下围绕对象旋转?

  6. 6

    如何在不使用MATLAB中内置函数的情况下进行10倍交叉验证?

  7. 7

    如何在不使用内置函数的情况下预测KNN分类器

  8. 8

    如何在不使用 Javascript 中的内置函数的情况下进行过滤?

  9. 9

    如何在不使用内置函数的情况下从python中的数组中删除元素

  10. 10

    如何在不使用任何内置函数且不使用循环的情况下生成类似转置的矩阵?

  11. 11

    使用 PHP 实现 QUEUE

  12. 12

    如何在c中不使用任何递归函数的情况下遍历目录?

  13. 13

    在不使用Matlab内置函数的情况下,RGB图像上的颜色直方图的实现示例

  14. 14

    Sorting Priority Queue in Java

  15. 15

    C ++ priority_queue

  16. 16

    如何在不使用C#中内置函数Rank的情况下获取数组的维数?

  17. 17

    如何在不使用“使用 System.Security.Cryptography”的情况下在字符串上实现 md5;或任何其他内置方法 - C#

  18. 18

    如何在不使用内置 c# 方法的情况下反转字符串

  19. 19

    如何在不使用函数或类的情况下重复代码段以实现C ++中的高性能循环

  20. 20

    如何在不使用内置函数的情况下在matlab中翻转图像?

  21. 21

    我应该如何更正这个 priority_queue 比较函数?

  22. 22

    如何获得priority_queue的比较类型?

  23. 23

    如何在不使用“ rtrim”和“ substr”等内置函数的情况下从此字符串中删除最后一个逗号(,)

  24. 24

    如何在不使用任何操作类的情况下使用Struts2约定

  25. 25

    如何在Laravel中使用Event :: queue?

  26. 26

    如何在不使用numpy在python中使用for循环的情况下实现矩阵映射?

  27. 27

    如何在任何类中创建比较器函数,就像我们在C ++ STL中创建priority_queue一样

  28. 28

    如何在不使用任何循环的情况下从PHP中的数组获取偶数键值

  29. 29

    如何在不使用Java进行任何缓冲的情况下读取文件?

热门标签

归档