Question: rewrite this code with cutoff value public static void main ( String [ ] args ) { int choice; int number; int [ ] array;
rewrite this code with cutoff value public static void mainString args
int choice;
int number;
int array;
Scanner input new ScannerSystemin;
System.out.printlnChoose a sorting routine:";
System.out.println Insertion Sort";
System.out.println Shell Sort";
System.out.println Merge Sort";
System.out.println Quick Sort";
choice input.nextInt;
System.out.printEnter the number of integers: ;
number input.nextInt;
array new intnumber;
System.out.printlnEnter the number integers:";
for int i ; i number; i
arrayi input.nextInt;
switch choice
case :
insertionsortarray;
break;
case :
shellsortarray;
break;
case :
array mergesortarray;
break;
case :
quicksortarray array.length ;
break;
default:
System.out.printlnInvalid choice";
return;
int count;
count removeduplicatearray;
System.out.printlnThe resulting array is:;
for int i ; i count; i
System.out.printarrayi;
public static void insertionsortint array
int key;
int j;
for int i ; i array.length; i
key arrayi;
j i ;
while j && arrayj key
arrayj arrayj;
j;
arrayj key;
public static void shellsortint array
int number;
int j;
int temporary;
number array.length;
for int gap number ; gap ; gap
for int i gap; i number; i
temporary arrayi;
for j i; j gap && arrayj gap temporary; j gap
arrayj arrayj gap;
arrayj temporary;
public static int mergesortint array
int middle;
int left;
int right;
if arraylength return array;
middle array.length ;
left new intmiddle;
right new intarraylength middle;
System.arraycopyarray left, middle;
System.arraycopyarray middle, right, array.length middle;
left mergesortleft;
right mergesortright;
return mergeleft right;
public static int mergeint left, int right
int result;
int i;
int j;
int k;
result new intleftlength right.length;
i ;
j ;
k ;
while i left.length && j right.length
if lefti rightj
resultk lefti;
else
resultk rightj;
while i left.length
resultk lefti;
while j right.length
resultk rightj;
return result;
public static void quicksortint array, int low, int high
int pivotindex;
if low high
pivotindex partitionarray low, high;
quicksortarray low, pivotindex ;
quicksortarray pivotindex high;
public static int partitionint array, int low, int high
int pivot;
int i;
pivot arrayhigh;
i low ;
for int j low; j high; j
if arrayj pivot
i;
swaparray i j;
swaparray i high;
return i ;
public static void swapint array, int i int j
int temporary;
temporary arrayi;
arrayi arrayj;
arrayj temporary;
public static int removeduplicateint array
int index;
if arraylength return ;
index ;
for int i ; i array.length; i
if arrayi arrayindex
index;
arrayindex arrayi;
return index ;
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
