First, we will explain how to run the demo, and then we will give a bit of explanation of what it is that you are seeing.
When you click on the button labeled "run" a new window will pop-up with a diagram demonstrating one particular run of the algorithm. If you want to terminate an animation which is still in progress, you can click on the "cancel" button. When an animation is finished, the pop-up window remains displayed unless you explicitly close it (there should be an option "close" under the popup menu "File" which appears near the top-left corner of the pop-up window).
When beginning a run of the algorithm, the following parameters can be specified:
Quicksort operates by first picking a 'pivot' value and then partitioning the original list into two groups, those less than the pivot and those greater than the pivot. This particular implementation uses an in-place partitioning scheme. This is demonstrated in two ways. A horizontal, yellow line is used to denote the magnitude of the chosen pivot value. There are also two "bars" underneath the data points which you will see starting near the sides and sliding towards each other. These are indices in the underlying in-place partitioning scheme.
Finally, the recursive aspect of the algorithm is shown using a bar graph at the bottom of the animation. A recursive call which is currently active or interupted will be shown as a horizontal red bar, with the width equivalent to the portion of the array being sorted by that call. Therefore, the entire recursive stack is the union of the red bars. Recursive calls which were made but have since completed will be colored black. Thus at the end of the entire process, this provides a record of all past recursive calls