listing continued public void swap(int dex int dex /swap two elements long temp thearray[dex ]/ into temp thearray[dex thearray[dex ]/ into thearray[dex temp/temp into /end swap///end class arrayins ///////////////////////////////////////////////////////////////class quicksort app public static void main(string[argsint maxsize /array size arrayins arrarr new arrayins(maxsize)/create array for(int = <maxsizej++/fill array with /random numbers long (int)(java lang math random()* )arr insert( )arr display()/display items arr quicksort()/quicksort them arr display()/display them again /end main(/end class quicksort app the main(routine creates an object of type arrayinsinserts random data items of type long in itdisplays itsorts it with the quicksort(methodand displays the results here' some typical outputa= = an interesting aspect of the code in the partitionit(method is that we've been able to remove the test for the end of the array in the first inner while loop this testseen in the earlier partitionit(method in the partition java program in listing was leftptr right