sllist.java

来自「Java写的部分数据结构源码」· Java 代码 · 共 53 行

JAVA
53
字号
/***********************  SLList.java  *************************** *       generic singly linked list class with head only */public class SLList {    protected SLLNode head = null;    public SLList() {    }    public void setToNull() {        head = null;    }    public boolean isEmpty() {        return head == null;    }    public Object first() {        return head.info;    }    public SLLNode head() {        return head;    }    public void printAll(java.io.PrintStream out) {        for (SLLNode tmp = head; tmp != null; tmp = tmp.next)            out.print(tmp.info.toString());    }    public void add(Object el) {        head = new SLLNode(el,head);    }    public Object find(Object el) {        SLLNode tmp = head;        for ( ; tmp != null && !el.equals(tmp.info); tmp = tmp.next);        if (tmp == null)             return null;        else return tmp.info;    }    public Object deleteHead() { // remove the head and return its info;        Object el = head.info;        head = head.next;        return el;    }    public void delete(Object el) {    // find and remove el;          if (head != null)              // if non-empty list;             if (el.equals(head.info)) // if head needs to be removed;                  head = head.next;             else {                  SLLNode pred = head, tmp = head.next;                  for ( ; tmp != null && !(tmp.info.equals(el));                          pred = pred.next, tmp = tmp.next);                  if (tmp != null)     // if found                        pred.next = tmp.next;             }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?