Heap Sort(堆積排序法)
也可以使用優先佇列,但是會更慢,因為是用堆積來排序,所以會比較慢。
範例程式碼
python
import heapq
class Heap:
def __init__(self):
self.heap = []
def push(self, item):
heapq.heappush(self.heap, item)
def pop(self):
return heapq.heappop(self.heap)
# 建立一個最小堆
minHeap = Heap()
# 加入一些數字
minHeap.push(5)
minHeap.push(3)
minHeap.push(7)
minHeap.push(1)
# 輸出最小值 1
print(minHeap.pop())
# 輸出最小值 3
print(minHeap.pop())
# 輸出最小值 5
print(minHeap.pop())
# 輸出最小值 7
print(minHeap.pop())