circuitpython/tests/extmod/uheapq1.py

40 lines
585 B
Python
Raw Normal View History

2014-10-22 13:37:18 -04:00
try:
2023-08-22 11:15:46 -04:00
import heapq
except ImportError:
print("SKIP")
raise SystemExit
2014-10-22 13:37:18 -04:00
try:
heapq.heappop([])
except IndexError:
print("IndexError")
try:
heapq.heappush((), 1)
except TypeError:
print("TypeError")
2021-03-15 09:57:36 -04:00
2014-10-22 13:37:18 -04:00
def pop_and_print(h):
l = []
while h:
l.append(str(heapq.heappop(h)))
2021-03-15 09:57:36 -04:00
print(" ".join(l))
2014-10-22 13:37:18 -04:00
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)