java学习之—链表(2)
/** * 双端链表操作 * Create by Administrator * 2018/6/14 0014 * 下午 2:05 **/ class Link1 { public long dData; public Link1 next; public Link1(int id) { this.dData = id; } public void displayLink() { System.out.print(dData + " "); } } public class FirstLastList { private Link1 first; private Link1 last; public FirstLastList() { this.first = null; this.last = null; } public boolean isEmpty(){ //判断链表是否为空 return (first == null); } public long deleteFirst(){ long temp = first.dData; if(first.next == null){ last = null; } first = first.next; return temp; } public void insertFirst(int id){ Link1 link = new Link1(id); if(isEmpty()){ last = link; } link.next = first; //储存对象的引用 first = link; //把当前对象赋值给first } public void insertLast(int id){ Link1 newLink = new Link1(id); if (isEmpty()){ first = newLink; }else { last.next = newLink; } last = newLink; } public void displayList(){ System.out.print("List (first-->last): "); Link1 current = first; while(current != null){ current.displayLink(); current = current.next; } System.out.println(""); } public static void main(String[] args) { FirstLastList theList = new FirstLastList(); theList.insertFirst(22); theList.insertFirst(44); theList.insertFirst(66); theList.insertLast(11); theList.insertLast(33); theList.insertLast(55); theList.displayList(); theList.deleteFirst(); theList.deleteFirst(); theList.displayList(); } }
(转载请注明花儿为何那样红博客)