java链表实现

来源:互联网 发布:淘宝质量好小众的店铺 编辑:程序博客网 时间:2024/05/16 16:02
public class MyList<T> {public boolean isEmpty(Node<T> header) {return header.next == null;}public boolean isLast(Node<T> node) {return node.next == null;}public Node<T> find(T value, Node<T> header) {// 注意p是从头结点的下一个节点Node<T> p = header.next;while (p.next != null && !p.value.equals(value))p = p.next;return p;}public void delete(T t, Node<T> header) {Node<T> p = findPrevious(t, header);// 如果p是最后一个节点,则说明没找到,不用处理,否则应将指针后移一个if (!isLast(p))p.next = p.next.next;}public Node<T> findPrevious(T value, Node<T> header) {// 注意p是从头结点开始Node<T> p = header;while (p.next != null && !p.next.value.equals(value))p = p.next;return p;}// 插到某节点之后public void insert(T value, Node<T> node) {Node<T> p = new Node<T>();p.next = node.next;node.next = p;p.value = value;}}class Node<T> {Node<T> next;T value;}

0 0