uheapq1.py 643 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. try:
  2. import uheapq as heapq
  3. except:
  4. try:
  5. import heapq
  6. except ImportError:
  7. print("SKIP")
  8. raise SystemExit
  9. try:
  10. heapq.heappop([])
  11. except IndexError:
  12. print("IndexError")
  13. try:
  14. heapq.heappush((), 1)
  15. except TypeError:
  16. print("TypeError")
  17. def pop_and_print(h):
  18. l = []
  19. while h:
  20. l.append(str(heapq.heappop(h)))
  21. print(' '.join(l))
  22. h = []
  23. heapq.heappush(h, 3)
  24. heapq.heappush(h, 1)
  25. heapq.heappush(h, 2)
  26. print(h)
  27. pop_and_print(h)
  28. h = [4, 3, 8, 9, 10, 2, 7, 11, 5]
  29. heapq.heapify(h)
  30. print(h)
  31. heapq.heappush(h, 1)
  32. heapq.heappush(h, 6)
  33. heapq.heappush(h, 12)
  34. print(h)
  35. pop_and_print(h)