ヒープの並べ替えを説明し、盛り上げます。
ヒープソートは、バイナリヒープデータ構造を使用して要素をソートすることで機能するソートアルゴリズムです。これはインプレースアルゴリズムです。つまり、新しい配列を作成せずに元の配列内の要素をソートすることを意味します。

アルゴリズムは、「Heapify」と呼ばれるプロセスを使用して、最初に入力配列からバイナリヒープを作成することで機能します。バイナリヒープが作成されると、アルゴリズムはヒープからルート要素を繰り返し削除し、配列の端に配置します。このプロセスは、すべての要素がヒープから削除され、配列内の正しい順序で配置されるまで続きます。

「Heapify」プロセスには、入力配列内の要素を再配置して、バイナリヒープを形成することが含まれます。バイナリヒープは、各親ノードが子供（最大山の場合）以上、または子供以下（最小ヒープの場合）よりも大きいツリーベースのデータ構造です。。配列を盛り上げるために、アルゴリズムはツリー内の最後の親ノードを見つけることから始まり、それが正しい位置になるまで各親ノードをツリーに繰り返し「沈め」ます。

ノードをシンクするプロセスには、ノードを子供と比較し、必要に応じて子どもと呼ぶ（または最大かつかどうかに応じて）より大きな（または小さい）と交換することが含まれます。このプロセスは、ノードがヒープ内の正しい位置になるまで繰り返されます。その後、アルゴリズムはツリーの次の親ノードに移動し、沈没プロセスを繰り返します。

Heapifyプロセスが完了すると、入力配列は最大ヒープの場合は昇順でソートされ、最小ヒープの場合は下降順序になります。ヒープソートアルゴリズムは、ヒープからルート要素を繰り返し削除し、すべての要素が正しい順序で配置されるまで配列の端に配置するステップで進みます。