Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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-start