kirupa.com - Fast Sorting with Quicksort: Page 13

Let's pick up from where we left off on the previous page. This is the last page by the way! if (left<j) { quickSort(arrayInput, left, j); } if (i<right) { quickSort(arrayInput, i, right); } Once you break out of the loop, you are presented with two if statements. The first if statement checks to see if the value stored by your left variable is less than j. If it is, then you call your quickSort function again with the left and right boundaries being the original vale for left and the variable j. The second if statement checks to see if i less than the value stored by your right variable. If it is, then it calls the quickSort function with the left and right boundaries represented by your i and right variables respectively. return; This line of code is purely optional. If the data in your function escaped the while loop and snuck past the above two if statements, we simply end the function call. In Flash, you do not have to specify return - exiting a function is automatically taken care of when all other avenues for your function to work are exhausted. This return does not mean that all calls of the quickSort function stop working. You may have many concurrent quickSort functions sorting various portions of your arrayInput if caught by the above two if statements. This return statement exits only this particular instance of the quickSort function. Well, you have reached the end of this tutorial. There are many ways to have described how quicksort works in a fraction of the pages, but I really think the extra material really helps in understanding the details of quicksort in a relatively pain-free way! For the most part, people will never know whether you implemented your sort algorithm using quicksort. Did you know that Flash's built-in array sort methods are a variation of quicksort, and that they are also faster? They are! Most sort methods in modern languages is some form of quicksort, but I think by understanding how quicksort really works, you can better customize your sort depending on the situation. You may not always have a simple set of data in a list or array form. There will be times when a built-in sort method is the best solution to a problem. Every now and then, though, you will run into a situation where what you are trying to sort might not conform to the particular requirements of a language's built-in sort function. For example, in a project I was working on in C#, I was required to sort a massive amount of data stored in a hashmap-like Dictionary object. It was the solution to that, which I altered for Flash, that prompted me to write this tutorial. If you have a question about this or any other topic, the easiest thing is to drop by our forums where a bunch of the friendliest people you'll ever run into will be happy to help you out! THE KIRUPA NEWSLETTER Get cool tips, tricks, selfies, and more...personally hand-delivered to your inbox! ( View past issues for an idea of what you've been missing out on all this time! ) 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13

This is a companion discussion topic for the original entry at http://www.kirupa.com/developer/actionscript/quickSort13.htm