# 將陣列 A 建立的堆積元素 i 更新為較小值 decrease(A, i, value): A[i] ← value # 以陣列 A 建立的堆積元素 i 為起點進行 Down Heap downHeap(A, i): l ← left(i) r ← right(i) # 找出父節點(自己)、左子節點及右子節點中擁有最大值的節點 if l < N and A[l] > A[i]: largest ← l else: largest ← i if r < N and A[r] > A[largest]: largest ← r if largest ≠ i: # 當其中一個子節點擁有最大值時 swap(A[i], A[largest]) # 將父、子節點的值互換 downHeap(A, largest) # 以遞迴方式進行 Down Heap # 模擬本節變更元素值的範例 A ← 滿足最大堆積性質的整數序列 decrease(A, 0, 1) downHeap(A, 0)