min heap stl
priority_queue<int, vector<int>, greater<int>> pq;
Viper
priority_queue<int, vector<int>, greater<int>> pq;
priority_queue <int, vector<int>, greater<int>> g = gq;
CPP
Williams Algorithm: top downwhile not end of array, if heap is empty, place item at root; else, place item at bottom of heap; while (child < parent) swap(parent, child); go to next array element; end