浏览 108 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-03-30
package com.study.doublelink;
/** * 节点类 */ class Link{ public int data; public Link next; public Link previous; public Link(int data){ this.data = data; this.next = null; this.previous = null; } public void display(){ System.out.println(this.data); } } /** * 双向双端链表类 */ class DoubleLinkList{ private Link first; private Link last; public DoubleLinkList(){ this.first = null; this.last = null; } public boolean isEmpty(){ return (first == null); } public void insertFirst(int data){ Link newLink = new Link(data); if (isEmpty()){ this.last = newLink; }else{ this.first.previous = newLink; } newLink.next = this.first; this.first = newLink; } public boolean insertAfter(int key, int data){ Link current = this.first; Link newLink = new Link(data); while (current.data != key){ current = current.next; if (current == null){ return false; } } if (current == this.last){ this.last = newLink; newLink.next = null; }else{ current.next.previous = newLink; newLink.next = current.next; } current.next = newLink; newLink.previous = current; return true; } public void display(){ Link current = this.first; System.out.println("normal: "); while (current != null){ current.display(); current = current.next; } } public void displayReverse(){ Link current = this.last; System.out.println("reverse: "); while (current != null){ current.display(); current = current.previous; } } } public class DoubleLink { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub DoubleLinkList dll = new DoubleLinkList(); dll.insertFirst(2); dll.insertAfter(2, 4); dll.insertAfter(1, 3); dll.insertAfter(4, 5); dll.display(); dll.displayReverse(); } } 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |


