造一个时间段的链表为例
链表中的点
开始时间,结束时间,标签
指向前一个和后一个点的引用
class TimeBlock<L>{
private final L label;
private final long start;
private final long end;
private TimeBlock<L> last;
private TimeBlock<L> next;
这样这两个引用就像指针一样,像C语言一样构造链表
可以封装起来
public class TimeAxis<L> {
private final TimeBlock<L> head = new TimeBlock<>(null, -2, -1, null, null);
private int count = 0;
在里面包含一个头,还有一个计数。加入第一个点时改变头的next引用的目标。