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


Python Queue.add方法代码示例

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


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

示例1: answer

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import add [as 别名]
def answer(a): #使用一个栈从两个方向获取数值
    c = Queue()
    
    b = Stack()
    cur = a.element()
    while cur != None:
        b.push(Node(cur.value))
        cur = cur.next
    
    c = Queue()
    a_pre = a.element()
    add_a_pre = False # queue length is odd
    while a.element().value != b.peek().value and \
          a_pre.value != b.peek().value:
        if a_pre.value == b.peek().value:
            add_a_pre = True
        a_pre = a.remove()
        c.add(Node(a_pre.value))
        c.add(Node(b.pop().value))
        
    if add_a_pre: # odd
        c.add(Node(a_pre.value))
    else: # even
        c.add(Node(a.remove().value))
        
    return c
开发者ID:michael-7845,项目名称:python-puzzle,代码行数:28,代码来源:reorder_list.py

示例2: levelOrder

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import add [as 别名]
 def levelOrder(self,a):
     q = Queue()
     r = a
     while r is not None:
         print(r.root.data)
         if r.root.left is not None:
             q.add(r.root.left)
         if r.root.right is not None:
             q.add(r.root.right)
         if q.isEmpty():
             print("empty")
             r = None
         else:
             r = q.delete()
开发者ID:lhwork,项目名称:labs,代码行数:16,代码来源:btree3.py

示例3: answer3

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import add [as 别名]
def answer3(a): #使用快慢指针来均分链表, 然后把后面一半倒序, 拆分为2个队列,上看去更简洁
    slow = fast = a.first
    pre = None
    while fast:
        pre = slow
        slow = slow.next
        if fast.next:
            fast = fast.next.next
        else:
            fast = fast.next
        if fast == a.last:
            break;
    pre.next = None
    a.last = pre
    
    b = Queue()
    while slow:
        b.add(slow)
        slow = slow.next
    import reverse_list
    b2 = reverse_list.answer(b)
    
    r = Queue()
    while a.element() and b.element() :
        r.add(Node(a.remove().value))
        r.add(Node(b.remove().value))
    if b.element():
        r.add(Node(b.remove().value))
      
    return r
开发者ID:michael-7845,项目名称:python-puzzle,代码行数:32,代码来源:reorder_list.py

示例4: answer2

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import add [as 别名]
def answer2(a): #使用快慢指针来均分链表, 然后把后面一半倒序
    slow = fast = a.first
    while fast:
        slow = slow.next
        if fast.next:
            fast = fast.next.next
        else:
            fast = fast.next
        if fast == a.last:
            break;
    
    mid = slow
    b = Queue()
    while slow:
        b.add(slow)
        slow = slow.next
    import reverse_list
    b2 = reverse_list.answer(b)
    
    r = Queue()
    _a = a.first
    _b = b.first
    while _a.value != mid.value:
        r.add(Node(_a.value))
        r.add(Node(_b.value))
        _a = _a.next
        _b = _b.next
    if _b:
        r.add(Node(_b.value))
      
    return r
开发者ID:michael-7845,项目名称:python-puzzle,代码行数:33,代码来源:reorder_list.py

示例5: answer

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import add [as 别名]
def answer(a, b):
    c = Queue()
    carry = 0
    while a.element() != None and b.element() != None:
        sum = a.remove().value + b.remove().value + carry
        c.add(Node(sum%10))
        carry = sum/10
    
    while a.element() != None:
        sum = a.remove().value + carry
        c.add(Node(sum%10))
        carry = sum/10
    
    while b.element() != None:
        sum = b.remove().value + carry
        c.add(Node(sum%10))
        carry = sum/10   
        
    if carry > 0:
        c.add(Node(carry))
    
    return c 
开发者ID:michael-7845,项目名称:python-puzzle,代码行数:24,代码来源:add_two_numbers.py

示例6: main

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import add [as 别名]
def main():
    print("Queue")
    print("Creating an empty queue")
    q = Queue()
    
    print("Add 2 to queue")
    q.add(2)
    q.print_queue()
    
    
    print("Add 8 to queue")
    q.add(8)
    print("Add 5 to queue")
    q.add(5)
    print("Add 90 to queue")
    q.add(90)
    q.print_queue()
    print("Queue length:",len(q))
    
    print("Now serve the first item in queue")
    q.serve()
    q.print_queue()
开发者ID:jerrylu8888,项目名称:python-practice,代码行数:24,代码来源:main.py

示例7: demo

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import add [as 别名]
def demo():
    a = Queue()
    a.add(Node(2)); a.add(Node(4)); a.add(Node(5))
    print a
    
    b = Queue()
    b.add(Node(5)); b.add(Node(6)); b.add(Node(4))
    print b
    
    c = answer(a, b)
    print c
开发者ID:michael-7845,项目名称:python-puzzle,代码行数:13,代码来源:add_two_numbers.py

示例8: Scheduler

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import add [as 别名]
class Scheduler(Thread):

    file_semaphore = Semaphore()

    def __init__(self,controller,dispatch,error):
        Thread.__init__(self)
        self.policy = policy.get_policy()
        self.controller = controller
        self.do_dispatch = dispatch
        self.error = error
        self.queue = Queue()
        self.queue.load()
        self.lock = Lock()
        self._quit = Event()

        self.add_queue = SyncQueue(0)
        self.num_run = 0
        self.log = get_logger()

    def job(self,id):
        return self.queue.get(id)

    def jobs(self):
        return self.queue.get()

    def save(self):
        self.queue.save()

    def add(self,item):
        if self.lock.acquire(0):
            self.queue.add(item)
            self.lock.release()
        else:
            self.add_queue.put(item)

    def add_url(self,url,referer=None):
        try:
            fd = urlopen(url,referer=referer)
            meta = fd.read()
            fullurl = fd.geturl()
            fd.close()
            save_torrent = 1
            if fullurl.startswith('file://'):
                torrent_file = urllib.unquote(url)
                if torrent_file.startswith('file://'):
                    torrent_file = torrent_file[7:]
            elif fullurl.startswith('file:/') and fullurl[8] == '|':
                torrent_file = urllib.unquote(url)
                torrent_file = torrent_file[7]+':'+torrent_file[9:]
                if torrent_file.find('Temporary Internet Files') >= 0:
                    filename = os.path.split(url)[1]
                    torrent_file = os.path.join(self.policy(policy.TORRENT_PATH),
                                                filename)
            else:
                filename = urllib.unquote(os.path.split(url)[1])
                torrent_file = os.path.join(self.policy(policy.TORRENT_PATH),
                                            filename)

            torrent_path = os.path.dirname(torrent_file)
            if not os.path.exists(torrent_path):
                os.mkdir(torrent_path)

            if save_torrent:
                fd = open(torrent_file,'wb')
                fd.write(meta)
                fd.close()

            #~ d = Download() #cbt
            
            try: #cbt
                rd = bdecode(meta) #cbt
                if rd['cbt_user'] == self.policy(policy.CBT_LOGIN): #cbt
                    dest_path = rd['cbt_path'] #cbt
            except: #cbt
                    dest_path = self.policy(policy.DEST_PATH) #cbt

            self.add(QueueEntry(torrent_file, dest_path=dest_path)) #cbt

        except Exception,why:
            return str(why)
开发者ID:BackupTheBerlios,项目名称:cbt-svn,代码行数:82,代码来源:scheduler.py

示例9: demo

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import add [as 别名]
def demo():
    a = Queue()
    a.add(Node(1)); a.add(Node(2)); a.add(Node(3)); a.add(Node(4)); a.add(Node(5))
    print a
    print answer(a)
开发者ID:michael-7845,项目名称:python-puzzle,代码行数:7,代码来源:reverse_list.py

示例10: Queue

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import add [as 别名]
from queue import Queue

queue = Queue()
queue.add('a')
queue.add('b')
queue.add('c')
print queue.isEmpty()
print queue.poll()
print queue.poll()
print queue.poll()
print queue.isEmpty()
print queue.poll()
开发者ID:Zelgius,项目名称:CS-DevTraining,代码行数:14,代码来源:qtest.py


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