#include <iostream>
#include <queue>

int main( ) {
   std::priority_queue<int> cp;
   cp.push(23);
   cp.push(13);
   cp.push(20);
   cp.push(40);
   cp.push(15);

   while (!cp.empty( )) {              // los elementos saldrán del mayor al menor; ordenar un arreglo usando una cola de prioridad es el algoritmo llamado "heap sort"
      std::cout << cp.top( ) << " ";
      cp.pop( );
   }
}
