A priority queue in an array: insert, extract, update and delete by sifting keys up and down, and two ways to build a heap from a list.
This interactive visualization needs JavaScript.