All Downloads are FREE. Search and download functionalities are using the official Maven repository.

shz.linked.JSNode Maven / Gradle / Ivy

There is a newer version: 2.0
Show newest version
package shz.linked;

/**
 * 元素类型为long的单向链表节点
 * 

* 16*n(n为元素个数) *

* B=16*(n+1) */ public class JSNode implements SNode { public long val; protected JSNode next; protected JSNode(long val) { this.val = val; } public static JSNode of(long e) { return new JSNode(e); } public static JSNode of() { return of(0L); } @Override public final JSNode next() { return next; } @Override public final void next(SNode node) { next = (JSNode) node; } @Override public final JSNode addPrev(SNode node) { addNext(node); long val = this.val; JSNode jsNode = (JSNode) node; this.val = jsNode.val; jsNode.val = val; return this; } @Override public final void poll() { if (next != null) { this.val = next.val; next = next.next; } else this.val = 0L; } public final JSNode addNext(long e) { return (JSNode) addNext(of(e)); } public final JSNode addNext(long... es) { JSNode next = this; for (long e : es) next = next.addNext(e); return next; } public final JSNode addPrev(long e) { return addPrev(of(e)); } public final JSNode addPrev(long... es) { for (long e : es) addPrev(e); return this; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy