fork(5) download
  1. import heapq
  2.  
  3. h = [2,7,26,25,19,17,1,90,3,36]
  4. heapq.heapify(h) #vytvorenie haldy
  5. print(h)
  6.  
  7.  
  8. x = heapq.heappop(h) #vyberieme minimum - h sa upravi aby bola halda (o 1 prvok mensia)
  9. print(x) #hodnota minima
  10. print(h) #zostavajuca halda
  11. print("------")
  12. #USPORIADANIE HALDOVANIM - HeapSort
  13. h = [2,7,26,25,19,17,1,90,3,36]
  14. heapq.heapify(h) #vytvorenie haldy
  15. vysl = []
  16. for i in range(len(h)):
  17. vysl.append(heapq.heappop(h)) #odstran najmensi a vypis ho
  18. print(*vysl) #vypis medzerou oddelene hodnoty
  19.  
Success #stdin #stdout 0.01s 27712KB
stdin
Standard input is empty
stdout
[1, 3, 2, 7, 19, 17, 26, 90, 25, 36]
1
[2, 3, 17, 7, 19, 36, 26, 90, 25]
------
1 2 3 7 17 19 25 26 36 90