Written by a program.

Two example runs of heapsort, on an array of length n=26, the other on an array of length n=36. In both examples, the items in the array are originally colored brown. Each step of the heapify portion of the algorithm, shown as one line, is the execution of bubbledown(i) for i running from n to 1 in reverse order. The initial item i is indicated in red. The unprocessed items are still brown, while the items in the processed portion of the array are shown in green. When all items are green, the array is in max-heap order.
The main loop of heapsort then begins. Each iteration consists of first swapping the maximum item, which is in position 1, with the last item in the heap. That maximum item is no longer in the heap, but instead is in its final position. Items in final position are shown in black.
At each iteration of the main loop, the heap becomes one smaller, and the fully processed sorted array becomes one larger. Eventually, the heap is empty and the items are sorted.

THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG The original array.
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG Heapify begins.
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
THEQUICKBROWNFOXOUMPSOVERTHELAZYDJG
THEQUICKBROWNFOXOUMPSOVERTHELAZYDJG
THEQUICKBROWNFOXOUMPSOVERTHELAZYDJG
THEQUICKBROWNFOYOUMPSOVERTHELAZXDJG
THEQUICKBROWNFOYOUMPSOVERTHELAZXDJG
THEQUICKBROWNFOYOUMPSOVERTHELAZXDJG
THEQUICKBROWNFZYOUMPSOVERTHELAOXDJG
THEQUICKBROWNFZYOUMPSOVERTHELAOXDJG
THEQUICKBROWNFZYOUMPSOVERTHELAOXDJG
THEQUICKBROWNLZYOUMPSOVERTHEFAOXDJG
THEQUICKBROWNLZYOUMPSOVERTHEFAOXDJG
THEQUICKBROWNLZYOUMPSOVERTHEFAOXDJG
THEQUICKBROWTLZYOUMPSOVERNHEFAOXDJG
THEQUICKBROWTLZYOUMPSOVERNHEFAOXDJG
THEQUICKBROWTLZYOUMPSOVERNHEFAOXDJG
THEQUICKBROWTLZYOUMPSOVERNHEFAOXDJG
THEQUICKBROWTLZYOUMPSOVERNHEFAOXDJG
THEQUICKBRVWTLZYOUMPSOOERNHEFAOXDJG
THEQUICKBRVWTLZYOUMPSOOERNHEFAOXDJG
THEQUICKBRVWTLZYOUMPSOOERNHEFAOXDJG
THEQUICKBSVWTLZYOUMPROOERNHEFAOXDJG
THEQUICKBSVWTLZYOUMPROOERNHEFAOXDJG
THEQUICKBSVWTLZYOUMPROOERNHEFAOXDJG
THEQUICKUSVWTLZYOBMPROOERNHEFAOXDJG
THEQUICKUSVWTLZYOBMPROOERNHEFAOXDJG
THEQUICKUSVWTLZYOBMPROOERNHEFAOXDJG
THEQUICYUSVWTLZKOBMPROOERNHEFAOXDJG
THEQUICYUSVWTLZXOBMPROOERNHEFAOKDJG
THEQUICYUSVWTLZXOBMPROOERNHEFAOKDJG
THEQUICYUSVWTLZXOBMPROOERNHEFAOKDJG
THEQUIZYUSVWTLCXOBMPROOERNHEFAOKDJG
THEQUIZYUSVWTLOXOBMPROOERNHEFACKDJG
THEQUIZYUSVWTLOXOBMPROOERNHEFACKDJG
THEQUIZYUSVWTLOXOBMPROOERNHEFACKDJG
THEQUWZYUSVITLOXOBMPROOERNHEFACKDJG
THEQUWZYUSVRTLOXOBMPROOEINHEFACKDJG
THEQUWZYUSVRTLOXOBMPROOEINHEFACKDJG
THEQUWZYUSVRTLOXOBMPROOEINHEFACKDJG
THEQVWZYUSURTLOXOBMPROOEINHEFACKDJG
THEQVWZYUSURTLOXOBMPROOEINHEFACKDJG
THEQVWZYUSURTLOXOBMPROOEINHEFACKDJG
THEYVWZQUSURTLOXOBMPROOEINHEFACKDJG
THEYVWZXUSURTLOQOBMPROOEINHEFACKDJG
THEYVWZXUSURTLOQOBMPROOEINHEFACKDJG
THEYVWZXUSURTLOQOBMPROOEINHEFACKDJG
THZYVWEXUSURTLOQOBMPROOEINHEFACKDJG
THZYVWOXUSURTLEQOBMPROOEINHEFACKDJG
THZYVWOXUSURTLEQOBMPROOEINHEFACKDJG
THZYVWOXUSURTLEQOBMPROOEINHEFACKDJG
TYZHVWOXUSURTLEQOBMPROOEINHEFACKDJG
TYZXVWOHUSURTLEQOBMPROOEINHEFACKDJG
TYZXVWOQUSURTLEHOBMPROOEINHEFACKDJG
TYZXVWOQUSURTLEKOBMPROOEINHEFACHDJG
TYZXVWOQUSURTLEKOBMPROOEINHEFACHDJG
TYZXVWOQUSURTLEKOBMPROOEINHEFACHDJG
ZYTXVWOQUSURTLEKOBMPROOEINHEFACHDJG
ZYWXVTOQUSURTLEKOBMPROOEINHEFACHDJG
ZYWXVTOQUSURTLEKOBMPROOEINHEFACHDJG The array is now in max-heap order.
GYWXVTOQUSURTLEKOBMPROOEINHEFACHDJZ The main loop of heapsort begins.
YGWXVTOQUSURTLEKOBMPROOEINHEFACHDJZ
YXWGVTOQUSURTLEKOBMPROOEINHEFACHDJZ
YXWUVTOQGSURTLEKOBMPROOEINHEFACHDJZ
YXWUVTOQMSURTLEKOBGPROOEINHEFACHDJZ
YXWUVTOQMSURTLEKOBGPROOEINHEFACHDJZ
JXWUVTOQMSURTLEKOBGPROOEINHEFACHDYZ
XJWUVTOQMSURTLEKOBGPROOEINHEFACHDYZ
XVWUJTOQMSURTLEKOBGPROOEINHEFACHDYZ
XVWUUTOQMSJRTLEKOBGPROOEINHEFACHDYZ
XVWUUTOQMSORTLEKOBGPROJEINHEFACHDYZ
XVWUUTOQMSORTLEKOBGPROJEINHEFACHDYZ
DVWUUTOQMSORTLEKOBGPROJEINHEFACHXYZ
WVDUUTOQMSORTLEKOBGPROJEINHEFACHXYZ
WVTUUDOQMSORTLEKOBGPROJEINHEFACHXYZ
WVTUUTOQMSORDLEKOBGPROJEINHEFACHXYZ
WVTUUTOQMSORNLEKOBGPROJEIDHEFACHXYZ
WVTUUTOQMSORNLEKOBGPROJEIDHEFACHXYZ
HVTUUTOQMSORNLEKOBGPROJEIDHEFACWXYZ
VHTUUTOQMSORNLEKOBGPROJEIDHEFACWXYZ
VUTUHTOQMSORNLEKOBGPROJEIDHEFACWXYZ
VUTUSTOQMHORNLEKOBGPROJEIDHEFACWXYZ
VUTUSTOQMRORNLEKOBGPHOJEIDHEFACWXYZ
VUTUSTOQMRORNLEKOBGPHOJEIDHEFACWXYZ
CUTUSTOQMRORNLEKOBGPHOJEIDHEFAVWXYZ
UCTUSTOQMRORNLEKOBGPHOJEIDHEFAVWXYZ
UUTCSTOQMRORNLEKOBGPHOJEIDHEFAVWXYZ
UUTQSTOCMRORNLEKOBGPHOJEIDHEFAVWXYZ
UUTQSTOOMRORNLEKCBGPHOJEIDHEFAVWXYZ
UUTQSTOOMRORNLEKCBGPHOJEIDHEFAVWXYZ
AUTQSTOOMRORNLEKCBGPHOJEIDHEFUVWXYZ
UATQSTOOMRORNLEKCBGPHOJEIDHEFUVWXYZ
USTQATOOMRORNLEKCBGPHOJEIDHEFUVWXYZ
USTQRTOOMAORNLEKCBGPHOJEIDHEFUVWXYZ
USTQRTOOMPORNLEKCBGAHOJEIDHEFUVWXYZ
USTQRTOOMPORNLEKCBGAHOJEIDHEFUVWXYZ
FSTQRTOOMPORNLEKCBGAHOJEIDHEUUVWXYZ
TSFQRTOOMPORNLEKCBGAHOJEIDHEUUVWXYZ
TSTQRFOOMPORNLEKCBGAHOJEIDHEUUVWXYZ
TSTQRROOMPOFNLEKCBGAHOJEIDHEUUVWXYZ
TSTQRROOMPOINLEKCBGAHOJEFDHEUUVWXYZ
TSTQRROOMPOINLEKCBGAHOJEFDHEUUVWXYZ
ESTQRROOMPOINLEKCBGAHOJEFDHTUUVWXYZ
TSEQRROOMPOINLEKCBGAHOJEFDHTUUVWXYZ
TSRQREOOMPOINLEKCBGAHOJEFDHTUUVWXYZ
TSRQRNOOMPOIELEKCBGAHOJEFDHTUUVWXYZ
TSRQRNOOMPOIHLEKCBGAHOJEFDETUUVWXYZ
TSRQRNOOMPOIHLEKCBGAHOJEFDETUUVWXYZ
ESRQRNOOMPOIHLEKCBGAHOJEFDTTUUVWXYZ
SERQRNOOMPOIHLEKCBGAHOJEFDTTUUVWXYZ
SRRQENOOMPOIHLEKCBGAHOJEFDTTUUVWXYZ
SRRQPNOOMEOIHLEKCBGAHOJEFDTTUUVWXYZ
SRRQPNOOMHOIHLEKCBGAEOJEFDTTUUVWXYZ
SRRQPNOOMHOIHLEKCBGAEOJEFDTTUUVWXYZ
DRRQPNOOMHOIHLEKCBGAEOJEFSTTUUVWXYZ
RRDQPNOOMHOIHLEKCBGAEOJEFSTTUUVWXYZ
RROQPNDOMHOIHLEKCBGAEOJEFSTTUUVWXYZ
RROQPNLOMHOIHDEKCBGAEOJEFSTTUUVWXYZ
RROQPNLOMHOIHDEKCBGAEOJEFSTTUUVWXYZ
FROQPNLOMHOIHDEKCBGAEOJERSTTUUVWXYZ
RFOQPNLOMHOIHDEKCBGAEOJERSTTUUVWXYZ
RQOFPNLOMHOIHDEKCBGAEOJERSTTUUVWXYZ
RQOOPNLFMHOIHDEKCBGAEOJERSTTUUVWXYZ
RQOOPNLKMHOIHDEFCBGAEOJERSTTUUVWXYZ
RQOOPNLKMHOIHDEFCBGAEOJERSTTUUVWXYZ
EQOOPNLKMHOIHDEFCBGAEOJRRSTTUUVWXYZ
QEOOPNLKMHOIHDEFCBGAEOJRRSTTUUVWXYZ
QPOOENLKMHOIHDEFCBGAEOJRRSTTUUVWXYZ
QPOOONLKMHEIHDEFCBGAEOJRRSTTUUVWXYZ
QPOOONLKMHOIHDEFCBGAEEJRRSTTUUVWXYZ
QPOOONLKMHOIHDEFCBGAEEJRRSTTUUVWXYZ
JPOOONLKMHOIHDEFCBGAEEQRRSTTUUVWXYZ
PJOOONLKMHOIHDEFCBGAEEQRRSTTUUVWXYZ
POOOJNLKMHOIHDEFCBGAEEQRRSTTUUVWXYZ
POOOONLKMHJIHDEFCBGAEEQRRSTTUUVWXYZ
POOOONLKMHJIHDEFCBGAEEQRRSTTUUVWXYZ
EOOOONLKMHJIHDEFCBGAEPQRRSTTUUVWXYZ
OOEOONLKMHJIHDEFCBGAEPQRRSTTUUVWXYZ
OONOOELKMHJIHDEFCBGAEPQRRSTTUUVWXYZ
OONOOILKMHJEHDEFCBGAEPQRRSTTUUVWXYZ
OONOOILKMHJEHDEFCBGAEPQRRSTTUUVWXYZ
EONOOILKMHJEHDEFCBGAOPQRRSTTUUVWXYZ
OENOOILKMHJEHDEFCBGAOPQRRSTTUUVWXYZ
OONOEILKMHJEHDEFCBGAOPQRRSTTUUVWXYZ
OONOJILKMHEEHDEFCBGAOPQRRSTTUUVWXYZ
OONOJILKMHEEHDEFCBGAOPQRRSTTUUVWXYZ
AONOJILKMHEEHDEFCBGOOPQRRSTTUUVWXYZ
OANOJILKMHEEHDEFCBGOOPQRRSTTUUVWXYZ
OONAJILKMHEEHDEFCBGOOPQRRSTTUUVWXYZ
OONMJILKAHEEHDEFCBGOOPQRRSTTUUVWXYZ
OONMJILKGHEEHDEFCBAOOPQRRSTTUUVWXYZ
OONMJILKGHEEHDEFCBAOOPQRRSTTUUVWXYZ
AONMJILKGHEEHDEFCBOOOPQRRSTTUUVWXYZ
OANMJILKGHEEHDEFCBOOOPQRRSTTUUVWXYZ
OMNAJILKGHEEHDEFCBOOOPQRRSTTUUVWXYZ
OMNKJILAGHEEHDEFCBOOOPQRRSTTUUVWXYZ
OMNKJILFGHEEHDEACBOOOPQRRSTTUUVWXYZ
OMNKJILFGHEEHDEACBOOOPQRRSTTUUVWXYZ
BMNKJILFGHEEHDEACOOOOPQRRSTTUUVWXYZ
NMBKJILFGHEEHDEACOOOOPQRRSTTUUVWXYZ
NMLKJIBFGHEEHDEACOOOOPQRRSTTUUVWXYZ
NMLKJIEFGHEEHDBACOOOOPQRRSTTUUVWXYZ
NMLKJIEFGHEEHDBACOOOOPQRRSTTUUVWXYZ
CMLKJIEFGHEEHDBANOOOOPQRRSTTUUVWXYZ
MCLKJIEFGHEEHDBANOOOOPQRRSTTUUVWXYZ
MKLCJIEFGHEEHDBANOOOOPQRRSTTUUVWXYZ
MKLGJIEFCHEEHDBANOOOOPQRRSTTUUVWXYZ
MKLGJIEFCHEEHDBANOOOOPQRRSTTUUVWXYZ
AKLGJIEFCHEEHDBMNOOOOPQRRSTTUUVWXYZ
LKAGJIEFCHEEHDBMNOOOOPQRRSTTUUVWXYZ
LKIGJAEFCHEEHDBMNOOOOPQRRSTTUUVWXYZ
LKIGJHEFCHEEADBMNOOOOPQRRSTTUUVWXYZ
LKIGJHEFCHEEADBMNOOOOPQRRSTTUUVWXYZ
BKIGJHEFCHEEADLMNOOOOPQRRSTTUUVWXYZ
KBIGJHEFCHEEADLMNOOOOPQRRSTTUUVWXYZ
KJIGBHEFCHEEADLMNOOOOPQRRSTTUUVWXYZ
KJIGHHEFCBEEADLMNOOOOPQRRSTTUUVWXYZ
KJIGHHEFCBEEADLMNOOOOPQRRSTTUUVWXYZ
DJIGHHEFCBEEAKLMNOOOOPQRRSTTUUVWXYZ
JDIGHHEFCBEEAKLMNOOOOPQRRSTTUUVWXYZ
JHIGDHEFCBEEAKLMNOOOOPQRRSTTUUVWXYZ
JHIGEHEFCBDEAKLMNOOOOPQRRSTTUUVWXYZ
JHIGEHEFCBDEAKLMNOOOOPQRRSTTUUVWXYZ
AHIGEHEFCBDEJKLMNOOOOPQRRSTTUUVWXYZ
IHAGEHEFCBDEJKLMNOOOOPQRRSTTUUVWXYZ
IHHGEAEFCBDEJKLMNOOOOPQRRSTTUUVWXYZ
IHHGEEEFCBDAJKLMNOOOOPQRRSTTUUVWXYZ
IHHGEEEFCBDAJKLMNOOOOPQRRSTTUUVWXYZ
AHHGEEEFCBDIJKLMNOOOOPQRRSTTUUVWXYZ
HHAGEEEFCBDIJKLMNOOOOPQRRSTTUUVWXYZ
HHEGEEAFCBDIJKLMNOOOOPQRRSTTUUVWXYZ
HHEGEEAFCBDIJKLMNOOOOPQRRSTTUUVWXYZ
DHEGEEAFCBHIJKLMNOOOOPQRRSTTUUVWXYZ
HDEGEEAFCBHIJKLMNOOOOPQRRSTTUUVWXYZ
HGEDEEAFCBHIJKLMNOOOOPQRRSTTUUVWXYZ
HGEFEEADCBHIJKLMNOOOOPQRRSTTUUVWXYZ
HGEFEEADCBHIJKLMNOOOOPQRRSTTUUVWXYZ
BGEFEEADCHHIJKLMNOOOOPQRRSTTUUVWXYZ
GBEFEEADCHHIJKLMNOOOOPQRRSTTUUVWXYZ
GFEBEEADCHHIJKLMNOOOOPQRRSTTUUVWXYZ
GFEDEEABCHHIJKLMNOOOOPQRRSTTUUVWXYZ
GFEDEEABCHHIJKLMNOOOOPQRRSTTUUVWXYZ
CFEDEEABGHHIJKLMNOOOOPQRRSTTUUVWXYZ
FCEDEEABGHHIJKLMNOOOOPQRRSTTUUVWXYZ
FEEDCEABGHHIJKLMNOOOOPQRRSTTUUVWXYZ
FEEDCEABGHHIJKLMNOOOOPQRRSTTUUVWXYZ
BEEDCEAFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
EEBDCEAFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
EEEDCBAFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
EEEDCBAFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
AEEDCBEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
EEADCBEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
EEBDCAEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
EEBDCAEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
AEBDCEEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
EABDCEEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
EDBACEEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
EDBACEEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
CDBAEEEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
DCBAEEEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
DCBAEEEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
ACBDEEEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
CABDEEEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
CABDEEEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
BACDEEEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
BACDEEEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
ABCDEEEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
ABCDEEEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ
ABCDEEEFGHHIJKLMNOOOOPQRRSTTUUVWXYZ The items are now sorted.