📄 c_event.java
字号:
package test1;
import java.util.*;
public class C_Event{
private int id;
private char type;
private double t_start;
private double t_end;
private LinkedList<P_Event> el=new LinkedList<P_Event>();
protected boolean[] flag;
public void setflag(int i)
{
flag[i]=false;
}
public void initflag(NonLeaf n)
{
flag=new boolean[n.getparent().size()];
for(int i=0;i<flag.length;i++)
flag[i]=true;
}
public boolean getflag(int i)
{
return flag[i];
}
public int getid()
{
return id;
}
public char gettype()
{
return type;
}
public double gett_start()
{
return t_start;
}
public double gett_end()
{
return t_end;
}
public LinkedList<P_Event> getel()
{
return el;
}
public C_Event(){}
public C_Event(P_Event e,Leaf n)
{
id=e.getid();
type=n.gettype();
el.add(e);
t_start=t_end=el.getFirst().gettimestamp();
}
public C_Event(C_Event e1,C_Event e2,NonLeaf n)
{
id=e1.getid();
type=n.gettype();
C_Event e3=new C_Event();
C_Event e4=new C_Event();
if(e1.el.size()>e2.el.size())
{
e3=e1;
e4=e2;
}
else {
e3=e2;
e4=e1;
}
el.addAll(e3.getel());
for(int i=0;i<e4.el.size();i++)
{
if(el.contains(e4.el.get(i))==false)
{
int j=0;
while(j<el.size() && el.get(j).gettimestamp()<e4.el.get(i).gettimestamp())
j++;
if(j==el.size()) el.addLast(e4.el.get(i));
else el.add(j,e4.el.get(i));
}
}
t_start=el.getFirst().gettimestamp();
t_end=el.getLast().gettimestamp();
}
public C_Event(P_Event e1,C_Event e2,NonLeaf n)
{
id=e1.getid();
type=n.gettype();
el.addAll(e2.getel());
if(!el.contains(e1))
{
int i=0;
while(i<el.size()&& el.get(i).gettimestamp()<e1.gettimestamp()) i++;
if(i==el.size()) el.addLast(e1);
else el.add(i,e1);
t_start=el.getFirst().gettimestamp();
t_end=el.getLast().gettimestamp();
}
}
public C_Event(P_Event e1,P_Event e2,NonLeaf n)
{
id=e1.getid();
type=n.gettype();
el.add(e1);
if(e1.gettimestamp()>e2.gettimestamp()) el.addFirst(e2);
else el.addLast(e2);
t_start=el.getFirst().gettimestamp();
t_end=el.getLast().gettimestamp();
}
C_Event(C_Event e,NonLeaf n)
{
id=e.getid();
type=n.gettype();
el.addAll(e.getel());
t_start=el.getFirst().gettimestamp();
t_end=el.getLast().gettimestamp();
}
C_Event(P_Event e,NonLeaf n)
{
id=e.getid();
type=n.gettype();
el.add(e);
t_start=t_end=el.getFirst().gettimestamp();
}
public boolean checkIn(double t)
{
if(t_end<=t+t_start) return true;
else return false;
}
public boolean checkIn(double t1,double t2)
{
if(t_start>=t1&&t_end<=t2) return true;
else return false;
}
public boolean checkhHave(P_Event e)
{
return el.contains(e);
}
public boolean compareEarly(C_Event e)
{
if(t_end<=e.gett_start()) return true;
else return false;
}
public boolean compareEarly(P_Event e)
{
if(t_end<=e.gettimestamp()) return true;
else return false;
}
public boolean checkdelete()
{
int i;
for(i=0;i<flag.length;i++)
{
if(flag[i]) break;
}
if(i==flag.length) return true;
return false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -