package firstday; import firstday.LinkListt; //import firstday.LinkListt.Node; public class LinkListt { private static class Node { private Object date=null; private Node next=null; public Node(Object o) { this.date=o; } } public Node head=null; public void add(Object o) { Node nde=new Node(o); if(head == null) { head=nde; } else { Node order=head; while(true) { if(order.next==null) { order.next=nde; break; } order=order.next; } } } public void add(int index,Object o) { int cnt=1; Node n=head; while(true) { if(cnt==index-1) { Node no=new Node(o); no.next=n.next; n.next=no; break; } n=n.next; cnt++; } } public Object get(int index) { int cnt=1; Node n=head; while(true) { if(cnt==index) { return n.date; } n=n.next; cnt++; } } public Object remove(int index) { int cnt=1; Node n=head; Node front=null; Object re=null; while(true) { if(cnt==index-1) { front=n; } if(cnt==index) { front.next=n.next; n.next=null; re=n.date; n=null; return re; } cnt++; n=n.next; } } public int size() { int cnt=1; Node n=head; while(true) { if(n.next==null) { return cnt; } cnt++; n=n.next; } } public void addFirst(Object o) { Node n=new Node(o); n.next=head; head=n; } public Object removeFirst() { Object re; Node n=head; head=n.next; n.next=null; re=n.date; n=null; return re; } public Object removeLast() { Node n=head; Node front=null; Object re=null; while(true) { if(n.next==null) { re=n.date; front.next=null; n=null; return re; } front=n; n=n.next; } } public static void main(String[] args) { LinkListt l=new LinkListt(); for(int i=0;i<5;i++) { l.add(i); } l.add(3,8); for(int i=1;i<=6;i++) { System.out.println(l.get(i)); } //System.out.println(l.size()); l.addFirst(99); for(int i=1;i<=7;i++) { System.out.println(l.get(i)); } l.removeFirst(); for(int i=1;i<=6;i++) { System.out.println(l.get(i)); } System.out.println(l.size()); } }