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


Python Queue.enqueue方法代码示例

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


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

示例1: test_enqueue

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import enqueue [as 别名]
def test_enqueue():
    """Fill an empty contructor argument and assert len, deque)"""
    filling_this = Queue(())
    for i in xrange(40):
        filling_this.enqueue(i)
    assert len(filling_this) == 40
    assert filling_this.dequeue() == 0
开发者ID:jonathanstallings,项目名称:data-structures,代码行数:9,代码来源:test_queue.py

示例2: pop

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import enqueue [as 别名]
 def pop(self): 
     temp = Queue()
     while self.__q.count() > 1:
         temp.enqueue(self.__q.dequeue())
     result = self.__q.dequeue()
     self.__q = temp    
     return result
开发者ID:manafay,项目名称:pythonGO,代码行数:9,代码来源:stacky.py

示例3: TestMaxSizeQueue

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import enqueue [as 别名]
class TestMaxSizeQueue(unittest.TestCase):

	def setUp(self):
		self.max_size = 10
		self.obj = Queue(max_size=self.max_size)


	def tearDown(self):
		self.obj = Queue(max_size=self.max_size)


	def test_queue_empty(self):
		self.assertTrue(self.obj.is_empty())


	def test_raises_queue_full_error(self):
		for i in range(self.max_size):
			self.obj.enqueue(i)

		self.assertRaises(QueueFullError, lambda: self.obj.enqueue(20))


	def test_queue_top_item(self):
		items = [2, 4, 5, 5]

		for item in items:
			self.obj.enqueue(item)

		self.assertEqual(self.obj.dequeue(), items[0])
开发者ID:hpatel86,项目名称:data_structures,代码行数:31,代码来源:test_queue.py

示例4: QueueAllTestCase

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import enqueue [as 别名]
class QueueAllTestCase(unittest.TestCase):
    """Tests of (non-empty) Queue."""

    def setUp(self):
        """Set up an empty queue."""

        self.queue = Queue()

    def tearDown(self):
        """Clean up."""

        self.queue = None

    def testAll(self):
        """Test enqueueing and dequeueing multiple elements."""

        for item in range(20):
            self.queue.enqueue(item)
            self.assertFalse(self.queue.is_empty(), \
                            'is_empty() returned True on a non-empty Queue!')

        expect = 0
        while not self.queue.is_empty():
            self.assertEqual(self.queue.dequeue(), expect, \
                             'Something wrong on top of the Queue! Expected ' \
                             + str(expect) + '.')
            expect = expect + 1
开发者ID:patchen,项目名称:battleship,代码行数:29,代码来源:test_queue.py

示例5: TestQueue

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import enqueue [as 别名]
class TestQueue(unittest.TestCase):

	def setUp(self):
		self.obj = Queue()


	def tearDown(self):
		self.obj = Queue()


	def test_empty_queue(self):
		self.assertTrue(self.obj.is_empty())


	def test_raises_queue_empty_error(self):
		self.assertRaises(QueueEmptyError, lambda: self.obj.dequeue())


	def test_queue_size(self):
		size = 20
		for i in range(size):
			self.obj.enqueue(i)

		self.assertEqual(self.obj.size(), size)


	def test_queue_top_item(self):
		size = 20
		for i in range(size):
			self.obj.enqueue(i)

		self.assertEqual(self.obj.dequeue(), 0)
开发者ID:hpatel86,项目名称:data_structures,代码行数:34,代码来源:test_queue.py

示例6: simulation

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import enqueue [as 别名]
def simulation(seconds, ppm):

    printer = Printer(ppm)
    q = Queue()
    waittimes = []

    for currentSecond in range(seconds):

        if newPrintTask():
            task = Task(currentSecond)
            q.enqueue(task)

        if (not printer.isBusy()) and (not q.isEmpty()):
            nextTask = q.dequeue()
            waittimes.append(nextTask.getTimeWaited(currentSecond))

            printer.startNextTask(nextTask)


        printer.countdown()

    averageWait = sum(waittimes)/len(waittimes)

    print "Average wait of %6.2f seconds; %3d tasks remaining." \
            % (averageWait, q.size())
    return
开发者ID:doubledherin,项目名称:datastructs_algorithms_exercises,代码行数:28,代码来源:printQueueSimulation.py

示例7: breadth_first_search

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import enqueue [as 别名]
    def breadth_first_search(self, tree, parent, visited=[]):

        # create a queue from a list
        queue = Queue()

        # add the parent node to the queue
        queue.enqueue(parent)

        # mark node as visited to ensure it's not traversed again
        visited = visited + [parent]

        # exit when the queue is empty
        while queue.is_empty() == False:

            # dequeue element            
            parent = queue.dequeue()

            # get the children of the parent
            children = tree[parent]

            # iterates through all the children
            for child in children:

                # only traverse nodes not already visited
                if child not in visited:
                
                    # add child to queue for exporation
                    queue.enqueue(child)

                    # visit child node
                    visited = visited + [child]

        # return all visited
        return visited
开发者ID:trienism,项目名称:python-algorithms,代码行数:36,代码来源:breadthfirstsearch.py

示例8: test_enqueue_nonempty

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import enqueue [as 别名]
def test_enqueue_nonempty():
    """Test enqueue on non-empty list."""
    from queue import Queue
    my_queue = Queue()
    my_queue.enqueue('chicken')
    my_queue.enqueue('monkey')
    assert my_queue.container.head.val == 'monkey'
开发者ID:jaredscarr,项目名称:data-structures,代码行数:9,代码来源:test_queue.py

示例9: test_Queue_dequeue

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import enqueue [as 别名]
    def test_Queue_dequeue(self):
        q1 = Queue()

        q1.enqueue(0)
        q1.enqueue(1.2)
        q1.enqueue("3.4")
        q1.enqueue([5, 6])
        q1.enqueue((7, 8))
        q1.enqueue({9, 10})

        self.assertEqual(q1.size(), 6)
        self.assertEqual(q1.dequeue(), 0)
        self.assertEqual(q1.size(), 5)
        self.assertEqual(q1.dequeue(), 1.2)
        self.assertEqual(q1.size(), 4)
        self.assertEqual(q1.dequeue(), "3.4")
        self.assertEqual(q1.size(), 3)
        self.assertEqual(q1.dequeue(), [5, 6])
        self.assertEqual(q1.size(), 2)
        self.assertEqual(q1.dequeue(), (7, 8))
        self.assertEqual(q1.size(), 1)
        self.assertEqual(q1.dequeue(), {9, 10})
        self.assertEqual(q1.size(), 0)

        with self.assertRaises(ValueError):
            q1.dequeue()
开发者ID:CharlesGust,项目名称:data_structures,代码行数:28,代码来源:test_queue.py

示例10: bfsreduceall

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import enqueue [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

示例11: bfs

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import enqueue [as 别名]
    def bfs(self, src=None, onnode=lambda x: x):
        if len(self.vertices) == 0:
            return None

        if src is None:
            src = self.vertices[0]

        q = Queue()

        for v in self.vertices:
            v.distance = sys.maxint
            v.parent = None

        src.distance = 0
        q.enqueue(src)

        while not q.empty():

            d = q.dequeue()
            onnode(d)
            for node in d.outputs:
                if node.distance == sys.maxint:
                    node.distance = d.distance + 1
                    node.parent = d
                    q.enqueue(node)
开发者ID:kubov,项目名称:mazeinator,代码行数:27,代码来源:graph.py

示例12: bfs

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import enqueue [as 别名]
 def bfs(cls, G, s):
     '''广度优先搜索,注意是从特定点出发的,所以广度优先搜索不一定访问到
     图中的所有节点,只能访问到该点可到达的节点
     '''
     bfs_visit_oder = []
     color = {}
     d = {}
     pi = {}
     for node in G.nodes():
         color[node] = cls.white
         d[node] = float("inf")
         pi[node] = None
     color[s] = cls.gray
     d[s]    = 0
     Q = Queue( len(G) ) #队列的长度等于图的节点数目,也就是图的长度
     Q.enqueue(s)
     while not Q.is_empty() :
         u = Q.dequeue()
         for eachsucc in G.succ(u):
             if color[eachsucc] == cls.white:
                 color[eachsucc] = cls.gray
                 d[eachsucc] += 1
                 pi[eachsucc] = u
                 Q.enqueue(eachsucc)
         color[u] = cls.black
         bfs_visit_oder.append(u)
     return bfs_visit_oder
开发者ID:litaotju,项目名称:code,代码行数:29,代码来源:graphalg.py

示例13: test_enqueue_dequeue_one_item

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import enqueue [as 别名]
def test_enqueue_dequeue_one_item():
	queue = Queue()
	queue.enqueue(5)	
	eq_(queue.is_empty(),False)
	eq_(queue.dequeue(), 5)
	eq_(queue.is_empty(),True)
	eq_(queue.dequeue(), None)
开发者ID:suspectpart,项目名称:algorithms,代码行数:9,代码来源:test_queue.py

示例14: bfs

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import enqueue [as 别名]
    def bfs(self):

        queue = Queue()

        visited = []

        queue.enqueue(self.head)
        visited.append(self.head)

        while not queue.is_empty():

            vertex = queue.front().data
            queue.dequeue()

            print vertex

            node = self.adj[vertex].head

            while node is not None:

                adj_vertex = node.data

                if adj_vertex not in visited:

                    visited.append(adj_vertex)

                    queue.enqueue(adj_vertex)

                node = node.next
开发者ID:recheej,项目名称:Data-Structures-In-Python,代码行数:31,代码来源:graph.py

示例15: test_enqueue

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import enqueue [as 别名]
def test_enqueue():
    my_queue = Queue()
    my_queue.enqueue(1)
    my_queue.enqueue(2)
    my_queue.enqueue(3)
    assert my_queue.container.head.value == 1
    assert my_queue.tail.value == 3
开发者ID:wilson0xb4,项目名称:cf-data-structures,代码行数:9,代码来源:test_queue.py


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