Hello. When I try to run this program, I get a cannot find symbolerror. Can some
ID: 3617398 • Letter: H
Question
Hello. When I try to run this program, I get a cannot find symbolerror. Can someone show me how to fix that. Thanks.import java.io.*;
import java.util.*;
import javax.swing.*;
public class mergetest
{
public static void mergesort(ArrayList<Integer>list)
{
mergesort(list, 0, list.size());
}
private static void mergesort(ArrayList<Integer> list,int start, int end)
{
// a list of size 0 or 1 ismerged
if(end-start<2)
{
return;
}
// divide into 2 pieces
int mid = (start+end)/2;
mergesort(list, start, mid);
mergesort(mid, end);
// merge together
merge(list, start, mid, end);
}
private static void merge(ArrayList<Integer> list, intstart, int mid, int end)
{
// temp storage
Integer[] temp = new Integer[end-start];
int loc = 0;
int i = start;
int j = mid;
// add elements to temp
while(i < mid && j < end)
{
if(list.get(j).compareTo(list.get(i)) < 0)
{
// add element from 2ndlist
temp[loc++] =list.get(j++);
}
else
{
temp[loc++] =list.get(i++);
}
}
// add remaining elements to list
while(i < mid)
{
temp[loc++] = list.get(i++);
}
while(j < mid)
{
temp[loc++] = list.get(j++);
}
// put elements back into list from temp
for(int t = 0; t < temp.length; t++)
{
list.set(t + start, temp[t]);
}
}
}
Explanation / Answer
private static void mergesort(ArrayList list,int start, int end) { // a list of size 0 or 1 ismerged if(end-startRelated Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.