コード例 #1
0
    def __insert(node, value, priority=None):
        if node is None:
            return TreapNode(value, priority)

        if node.value < value:
            node.right = MutableTreap.__insert(node.right, value, priority)
            if node.right.priority > node.priority:
                node = Treap.__rotateLeft(node)
        else:
            node.left = MutableTreap.__insert(node.left, value, priority)
            if node.left.priority > node.priority:
                node = Treap.__rotateRight(node)

        return node