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

Could someone explain how this program work? I dont get it what max1= listA.midd

ID: 3592770 • Letter: C

Question

Could someone explain how this program work? I dont get it what max1= listA.middleMax(level+1); max2= listB.middleMax(level+1); refer to

public class LinkedList

{ int n;

ListNode start, rear;

public ListNode middleMax(int level)

{

// Block A

A1 LinkedList listA, listB;

A2 ListNode rear1, start2, max1, max2;

A3 int i, last;

A4 if (n==1) return(start);

// Block B

B1 last=n/2; // beginMax sets last=1, endMax sets last= n-1

B2 rear1= start;

B3 for (i=1; i < last; i++)

B4 rear1= rear1.next;

B5 start2= rear1.next;

B6 rear1.next= null;

B7 listA= new LinkedList(last, start, rear1);

B8 listB= new LinkedList(n-last, start2, rear);

// Block C

C1 max1= listA.middleMax(level+1);

C2 max2= listB.middleMax(level+1);

// Block D

D1 listA.rear.next= listB.start;

D2 if (max1.data > max2.data) return(max1);

D3 else return(max2);

}

E0 public LinkedList(int size, ListNode first, ListNode last)

{ // Block E

E1 n= size;

E2 start= first;

E3

Explanation / Answer

public class LinkedList

{ int n;

ListNode start, rear;

public ListNode middleMax(int level)

{

// Block A

A1 LinkedList listA, listB;

A2 ListNode rear1, start2, max1, max2;

A3 int i, last;

A4 if (n==1) return(start);

// Block B

B1 last=n/2; // beginMax sets last=1, endMax sets last= n-1

B2 rear1= start;

B3 for (i=1; i < last; i++)

B4 rear1= rear1.next;

B5 start2= rear1.next;

B6 rear1.next= null;

B7 listA= new LinkedList(last, start, rear1);

B8 listB= new LinkedList(n-last, start2, rear);

// Block C

C1 max1= listA.middleMax(level+1);

C2 max2= listB.middleMax(level+1);

// Block D

D1 listA.rear.next= listB.start;

D2 if (max1.data > max2.data) return(max1);

D3 else return(max2);

}

E0 public LinkedList(int size, ListNode first, ListNode last)

{ // Block E

E1 n= size;

E2 start= first;

E3