当前位置: 首页>>代码示例>>Python>>正文


Python Queue.unqueue方法代码示例

本文整理汇总了Python中queue.Queue.unqueue方法的典型用法代码示例。如果您正苦于以下问题:Python Queue.unqueue方法的具体用法?Python Queue.unqueue怎么用?Python Queue.unqueue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在queue.Queue的用法示例。


在下文中一共展示了Queue.unqueue方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: bfsreduceall

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import unqueue [as 别名]
def bfsreduceall(sudokuObject):
    source = sudokuObject.solutiondriverNoGuess()
    if source == "Bad Response":
        return None
    elif type(source) is Sudoku:
        return source

    Q = Queue([sudokuObject])
    loop = 1
    startminnodes = None
    while not Q.isempty():
        # print("loop no",loop)
        if loop > 2: return dfsreduceall(sudokuObject)
        # if startminnodes is not None:
        #     for node in startminnodes:print(node.allowedset,node.id)
        # print("Q.unqueue()",Q)
        v = Q.unqueue()
        unfnodes = v.getOrderedMinnodesUnfilled()  # unfinished nodes
        if loop == 1: startminnodes = unfnodes
        for minnode in unfnodes:
            for permutedvalue in minnode.allowedset:
                global numsudokuobjects
                numsudokuobjects += 1
                newsudokuObject = sudokuObject.__deepcopy__()
                newsudokuObject.nodes[minnode.id].setValue(permutedvalue)
                postsolveobject = newsudokuObject.solutiondriverNoGuess()
                if type(postsolveobject) is Sudoku:
                    return postsolveobject
                elif postsolveobject != "Bad Response":
                    Q.enqueue(newsudokuObject)
                loop += 1

    return None
开发者ID:p10rahulm,项目名称:python-basics,代码行数:35,代码来源:sudosol.py

示例2: BFS

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import unqueue [as 别名]
def BFS(mygraph,source,group = None):
    mygraph.nodes[source].explored = True
    mygraph.nodes[source].layer = 0
    mygraph.nodes[source].group = group
    Q = Queue([source])
    while Q.isempty() == False:
        v = Q.unqueue()
        for secondnode in mygraph.graph_dict[v]:
            if mygraph.nodes[secondnode].explored == False:
                mygraph.nodes[secondnode].explored = True
                mygraph.nodes[secondnode].layer = mygraph.nodes[v].layer + 1
                mygraph.nodes[secondnode].group = group
                Q.enqueue(secondnode)
    return mygraph
开发者ID:p10rahulm,项目名称:python-basics,代码行数:16,代码来源:BFS.py


注:本文中的queue.Queue.unqueue方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。