Question

Exercice 3(25+ 20 pts); Sorting 1-Sorting is a classic subject in computer science. There are many sorting algorithms a. Comp

private static int partition(int] list, int first, int last) { int list[first; int low= first + 1;/ int high-last; / while (h

Answer please

0 0
Add a comment Improve this question Transcribed image text
Answer #1

Screenshot

publie clace r ATter aurt sublic static void sain(String[] args) ( t a agrt:) or(int ie itferi]-) System.aut printlnnfterProgram

//Create a class Sort
public class Sort {
   //Test main
   public static void main(String[] args) {
       int arr[] = {8,7,4,1,5,9};
       System.out.println("Before sort:");
       for(int i=0;i<6;i++) {
           System.out.print(arr[i]+" ");
       }
       System.out.println("\nAfter sort:");
       Sort(arr);
       for(int i=0;i<6;i++) {
           System.out.print(arr[i]+" ");
       }
    }
   //Sort method, take arr as input
   //Which call sort function(Quick sort)
   public static void Sort(int[] list) {
       Sort(list,0,list.length-1);
   }
   //Quick sort
   //Take array ,first and last index of the array
   private static void Sort(int[] list,int first,int last) {
       //If first less than last recursively call sort function
       if(first<last) {
           //To divide array into tw0
           int index=partition(list,first,last);
           //First half sort
           Sort(list,first,index-1);
           //Second half sort
           Sort(list,index+1,last);
       }
   }
   //Array partition index obtaining function
    private static int partition(int[] list,int first,int last) {
       //Set first element as pivot
       int pivot=list[first];
       //Starts from next element index as low
       int low=first+1;
       //Last element index as high
       int high=last;
       //Loop until low reach to high
       while(high>low) {
           //Get left half until greater than pivot
           while(low<=high && list[low]<pivot) {
               low++;
           }
           //Get right half until less than pivot
           while(low<=high && list[high]>pivot) {
               high--;
           }
           //Swap to place the small value in correct place
           if(high>low) {
               int temp=list[high];
               list[high]=list[low];
               list[low]=temp;
           }
       }
       //Check reach end
       while(high>first && list[high]>=pivot) {
           high--;
       }
       //Check pivot with high value
       //Then swap
       //Return high index as partition
       if(pivot>list[high]) {
           list[first]=list[high];
           list[high]=pivot;
           return high;
       }
       //Otherwise retun first as partition
       else {
           return first;
       }
      
    }
  
}

-----------------------------------

output

Before sort:
8 7 4 1 5 9
After sort:
1 4 5 7 8 9

-------------------------------------------

Note:-

Do you want to implement comparator and comparable using same sort?

Add a comment
Know the answer?
Add Answer to:
Answer please Exercice 3(25+ 20 pts); Sorting 1-Sorting is a classic subject in computer science. There...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • //Generic interface that describes various searching and sorting //algorithms. Note that the type parameter is unbounded....

    //Generic interface that describes various searching and sorting //algorithms. Note that the type parameter is unbounded. However, //for these algorithms to work correctly, the data objects must //be compared using the method compareTo and equals. //In other words, the classes implementing the list objects //must implement the interface Comparable. The type parameter T //is unbounded because we would like to use these algorithms to //work on an array of objects as well as on objects of the classes //UnorderedArrayList and...

  • Modify the sorts (selection sort, insertion sort, bubble sort, quick sort, and merge sort) by adding code to each to tally the total number of comparisons and total execution time of each algorithm. E...

    Modify the sorts (selection sort, insertion sort, bubble sort, quick sort, and merge sort) by adding code to each to tally the total number of comparisons and total execution time of each algorithm. Execute the sort algorithms against the same list, recording information for the total number of comparisons and total execution time for each algorithm. Try several different lists, including at least one that is already in sorted order. ---------------------------------------------------------------------------------------------------------------- /** * Sorting demonstrates sorting and searching on an...

  • 7.11 LAB: Sorting user IDs Given a main() that reads user IDs (until -1), complete the...

    7.11 LAB: Sorting user IDs Given a main() that reads user IDs (until -1), complete the quicksort() and partition() methods to sort the IDs in ascending order using the Quicksort algorithm, and output the sorted IDs one per line. Ex. If the input is: kaylasimms julia myron1994 kaylajones -1 the output is: julia kaylajones kaylasimms myron1994 Code: import java.util.Scanner; import java.util.ArrayList; public class UserIDSorting { // TODO: Write the partitioning algorithm - pick the middle element as the // pivot,...

  • Java Programming Write a program to find the number of comparison using binarySearch and the sequentialSearch...

    Java Programming Write a program to find the number of comparison using binarySearch and the sequentialSearch algorithms as follows: Suppose list is an array of 2500 elements. 1. Use a random number generator to fill list; 2. Use a sorting algorithm to sort list; 3. Search list for some items as follows: a) Use the binary search algorithm to search list (please work on SearchSortAlgorithms.java and modify the algorithm to count the number of comparisons) b) Use the sequential search...

  • Sorting algorithm: quick sort Exercise One (20 marks) Given the following program body for implementing Quick...

    Sorting algorithm: quick sort Exercise One (20 marks) Given the following program body for implementing Quick sort, complete the program by writing code where required import java.util.Random; public class QuickSort public void quickSectlinti] A) QuickSort/A, O, A.length-1); private void guickSortlin Aiat low.int high) //Complete the code for the quicksort method (5 marks] private void swaplint[] a, int indexl, int index2) //Complete the code for the swap method [3 marks] private int setPivotlint low, int high) Random rand = new Random();...

  • The file Sorting.java contains the Sorting class from Listing 9.9 in the text. This class implements...

    The file Sorting.java contains the Sorting class from Listing 9.9 in the text. This class implements both the selection sort and the insertion sort algorithms for sorting any array of Comparable objects in ascending order. In this exercise, you will use the Sorting class to sort several different types of objects. 1. The file Numbers.java reads in an array of integers, invokes the selection sort algorithm to sort them, and then prints the sorted array. Save Sorting.java and Numbers.java to...

  • A test harness program for testing sorting methods is provided with the rest of the textbook...

    A test harness program for testing sorting methods is provided with the rest of the textbook program files. It is the file Sorts.java in the ch11 package. The program includes a swap method that is used by all the sorting methods to swap array elements. Describe an approach to modifying the program so that after calling a sorting method the program prints out the number of swaps needed by the sorting method. Implement your approach. Test your new program by...

  • Receiveing this error message when running the Experts code below please fix ----jGRASP exec: javac -g...

    Receiveing this error message when running the Experts code below please fix ----jGRASP exec: javac -g GeometricObject.java GeometricObject.java:92: error: class, interface, or enum expected import java.util.Comparator; ^ 1 error ----jGRASP wedge2: exit code for process is 1. ----jGRASP: operation complete. 20.21 Please code using Java IDE. Please DO NOT use Toolkit. You can use a class for GeometricObject. MY IDE does not have access to import ToolKit.Circle;import. ToolKit.GeometricObject;.import ToolKit.Rectangle. Can you code this without using the ToolKit? Please show an...

  • Using Merge Sort: (In Java) (Please screenshot or copy your output file in the answer) In...

    Using Merge Sort: (In Java) (Please screenshot or copy your output file in the answer) In this project, we combine the concepts of Recursion and Merge Sorting. Please note that the focus of this project is on Merging and don't forget the following constraint: Programming Steps: 1) Create a class called Art that implements Comparable interface. 2) Read part of the file and use Merge Sort to sort the array of Art and then write them to a file. 3)...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT