Saturday, August 18, 2012

How to find middle element of linked list using java


import java.util.LinkedList;

public class MiddleElementLinkedList {

public static void main(String args[]){
LinkedList l1= new LinkedList();
l1.add(2);
l1.add(3);
l1.add(1);
l1.add(6);
l1.add(8);
System.out.println("Middle Element "+middleElementTwo(l1));

System.out.println("Loop: Middle Element "+middleElementLoop(l1));
}

private static String middleElementLoop(LinkedList l1) {
int end=l1.size()-1;
int start=0;

while(start >end){
start++;
end--;
}
if(start==end)
return (String) l1.get(start);
else
return (String) l1.get(start-1);
}

private static String middleElementTwo(LinkedList l1) {
int mid=(l1.size())/2;
return(l1.get(mid).toString());
}


}

2 comments:

  1. Your program has the following error:

    Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: -1, Size: 5
    at java.util.LinkedList.checkElementIndex(LinkedList.java:553)
    at java.util.LinkedList.get(LinkedList.java:474)
    at linkedlist.MidElementLinkedList.middleElementLoop(MidElementLinkedList.java:41)
    at linkedlist.MidElementLinkedList.main(MidElementLinkedList.java:22)
    Java Result: 1

    ReplyDelete
  2. Your program has error:

    Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: -1, Size: 5
    at java.util.LinkedList.checkElementIndex(LinkedList.java:553)
    at java.util.LinkedList.get(LinkedList.java:474)
    at linkedlist.MidElementLinkedList.middleElementLoop(MidElementLinkedList.java:41)
    at linkedlist.MidElementLinkedList.main(MidElementLinkedList.java:22)
    Java Result: 1

    ReplyDelete

Thanks for your valuable comments