micropython: add micropython component
This commit is contained in:
42
components/language/micropython/tests/extmod/uheapq1.py
Normal file
42
components/language/micropython/tests/extmod/uheapq1.py
Normal file
@@ -0,0 +1,42 @@
|
||||
try:
|
||||
import uheapq as heapq
|
||||
except:
|
||||
try:
|
||||
import heapq
|
||||
except ImportError:
|
||||
print("SKIP")
|
||||
raise SystemExit
|
||||
|
||||
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)
|
Reference in New Issue
Block a user