You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
559 B
37 lines
559 B
10 years ago
|
try:
|
||
|
import uheapq as heapq
|
||
|
except:
|
||
|
import heapq
|
||
|
|
||
|
try:
|
||
|
heapq.heappop([])
|
||
|
except IndexError:
|
||
|
print("IndexError")
|
||
|
|
||
|
try:
|
||
|
heapq.heappush((), 1)
|
||
|
except TypeError:
|
||
|
print("TypeError")
|
||
|
|
||
|
def pop_and_print(h):
|
||
|
l = []
|
||
|
while h:
|
||
|
l.append(str(heapq.heappop(h)))
|
||
|
print(' '.join(l))
|
||
|
|
||
|
h = []
|
||
|
heapq.heappush(h, 3)
|
||
|
heapq.heappush(h, 1)
|
||
|
heapq.heappush(h, 2)
|
||
|
print(h)
|
||
|
pop_and_print(h)
|
||
|
|
||
|
h = [4, 3, 8, 9, 10, 2, 7, 11, 5]
|
||
|
heapq.heapify(h)
|
||
|
print(h)
|
||
|
heapq.heappush(h, 1)
|
||
|
heapq.heappush(h, 6)
|
||
|
heapq.heappush(h, 12)
|
||
|
print(h)
|
||
|
pop_and_print(h)
|