Question: Objective: Add a Quicksort method to your previous assignment Steps: Create a separate Utility class with a static Quicksort method that accepts an array as
Objective:
- Add a Quicksort method to your previous assignment
Steps:
- Create a separate Utility class with a static Quicksort method that accepts an array as an input argument, and returns a sorted array.
- Call the Quick sort method from your same main class as last week with the same numbers. Do not create an instance of the "Utility" class.
- Display the resulting list in ascending and descending order (same as last week)
- Update the print statements in your main method to indicate that you're using Quicksort
My previous assignment:
import java.util.Scanner;
public class Assignment2Main {
public static void main(String[] args) { int [] inputArray = new int[5];
System.out.println("Enter 5 numbers: ");
Scanner sc= new Scanner(System.in);
for(int i=0;i<5;i++)
{
inputArray[i]=sc.nextInt();
while(inputArray[i]<1)
{
System.out.println("Not a whole number, Please enter a whole number");
inputArray[i]=sc.nextInt();
}
}
System.out.println("Array entered: ");
for(int i=0;i<5;i++)
System.out.print(inputArray[i]+" ");
System.out.println();
Database myDatabase = new Database(inputArray);
System.out.println("Avg: "+myDatabase.avg());
System.out.println("min: "+myDatabase.min());
System.out.println("max: "+myDatabase.max());
System.out.println("Enter key to search");
int key=sc.nextInt();
int index=myDatabase.binarSearch(key);
if(index>=0 && index<=4)
System.out.println("In sorted array, Key found at position :"+(index+1));
else
System.out.println("key not present in array");
System.out.println("Array after bubble sort");
int[] bubbleResult=myDatabase.bubbleSort();
System.out.println("ascending order: ");
for(int i=0;i<5;i++)
System.out.print(bubbleResult[i]+" ");
System.out.println();
System.out.println("descending order: ");
for(int i=4;i>=0;i--)
System.out.print(bubbleResult[i]+" ");
sc.close();
} }
public class Database { private int numbers[]=new int[5];
public Database(int arr[])
{
for(int i=0;i<5;i++)
numbers[i]=arr[i];
}
public int[] bubbleSort()
{
int temp;
for(int i=0; i < 5; i++)
{
for(int j=1; j < (5-i); j++)
{
if(numbers[j-1] > numbers[j])
{
temp = numbers[j-1];
numbers[j-1] = numbers[j];
numbers[j] = temp;
}
}
}
return numbers;
}
public int binarSearch(int key)
{
int start = 0;
int end = numbers.length - 1;
bubbleSort();
while (start <= end)
{
int mid = (start + end) / 2;
if (key == numbers[mid])
{
return mid;
}
if (key < numbers[mid])
{
end = mid - 1;
}
else
{
start = mid + 1;
}
}
return -1;
}
public int min()
{
int least=numbers[0];
for(int i=1;i<5;i++)
if(numbers[i] least=numbers[i]; return least; } public int max() { int highest=numbers[0]; for(int i=1;i<5;i++) if(numbers[i]>highest) highest=numbers[i]; return highest; } public double avg() { int sum=0; for(int i=0;i<5;i++) sum=sum+numbers[i]; return((double)sum/5); } }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
