Question: import java.util.Scanner; public class LabProgram { / / Static variable to count comparisons static int comparisons = 0 ; / / Read size and create
import java.util.Scanner;
public class LabProgram
Static variable to count comparisons
static int comparisons ;
Read size and create an array of size ints.
Read size ints, storing them in the array.
Return the array.
public static int readNums
Scanner scnr new ScannerSystemin;
int size scnrnextInt; Read array size
int nums new intsize; Create array for numbers
for int j ; j size; j
Read the numbers
numsj scnrnextInt;
return nums; Return the array
Output the numbers in nums, separated by spaces.
No space or newline will be output before the first number or after the last.
public static void printNumsint nums
for int i ; i nums.length; i
System.out.printnumsi;
if i nums.length
Corrected index boundary
System.out.print;
public static void mergeint numbers, int i int j int k
int mergedSize k i ;
int mergedNumbers new intmergedSize;
int mergePos ;
int leftPos i;
int rightPos j ;
while leftPos j && rightPos k
comparisons; Increment comparisons
if numbersleftPos numbersrightPos
mergedNumbersmergePos numbersleftPos;
else
mergedNumbersmergePos numbersrightPos;
while leftPos j
mergedNumbersmergePos numbersleftPos;
while rightPos k
mergedNumbersmergePos numbersrightPos;
for mergePos ; mergePos mergedSize; mergePos
numbersi mergePos mergedNumbersmergePos;
public static void mergeSortint numbers, int i int k
if i k
int j i k;
Trace output added to code in book
System.out.printfd d d d
i j j k;
mergeSortnumbers i j;
mergeSortnumbers j k;
mergenumbers i j k;
public static void mainString args
int numbers readNums;
System.out.printunsorted: ;
printNumsnumbers;
System.out.println;
mergeSortnumbers numbers.length ;
System.out.printlnsorted: ;
printNumsnumbers;
System.out.println;
Output number of comparisons
System.out.printlncomparisons: comparisons;
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
