Press space to render list and s to sort. This is an experimental sorting algorithm I made. How it works: First, the sort goes through the list, searching for any start points and stop points. It adds a start point, then it adds a start point when the index is twice as big as the item[ idx + 1 ], or more. After this searching, it insertion sorts the start-stop points. The stop points are kept into a list, and then it insertion sorts parts of the list, which are the stop places. It insertion sorts the start-top pieces again, then sends the last item of the stops that is less than the END to the END item. The END is a variable that starts at the parameter R, the right side of the portion of the list and decreases by 1 until it reaches L. All while the insertion sort start-stop and insertion sort stop-fragments are occurring with the END.
To: @Zro716 and @DadOfMrLog for idea. This project has been optimized many times. See the original vs. optimized sorting algorithm at https://scratch.mit.edu/projects/64655000/