本文整理汇总了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
示例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()
示例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
示例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
示例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
示例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()
示例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
示例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)
示例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)
示例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()