📄 set.java
字号:
public class Set implements Cloneable
{
private Elem start;
private Elem end;
Set()
{start=null;end=null;}
Set(int n)
{
int temp=1000;
for(int i=0;i<n;i++)
{
do{
temp=(int)(Math.random()*30);
}while(testElem(temp)==false);
addElem(temp);
}
}
public Elem getStart()
{return start;}
public Elem getEnd()
{return end;}
void addElem(int elem)
{
if(elem!=0)
{
Elem newEnd=new Elem();
newEnd.setE(elem);
if(start==null)
{start=newEnd;}
else {end.setNext(newEnd);}
end=newEnd;
}
}
public String toString()
{
StringBuffer str=new StringBuffer("");
Elem nextElem=start;
while(nextElem!=null)
{
if(nextElem.getE()<10)
{str.append(" "+nextElem);}
else{str.append(" "+nextElem);}
nextElem=nextElem.getNext();
}
return str.toString();
}
private int[] findAll()
{
int e[]=new int[10];
Elem nextElem=start;
for(int i=0;nextElem!=null;i++)
{
e[i]=nextElem.getE();
nextElem=nextElem.getNext();
}
return e;
}
private boolean testElem(int t)
{
boolean r=true;
int e[]=new int[10];
e=findAll();
for(int i=0;i<e.length;i++)
{
if(t==e[i])
{
r=false;
break;
}
}
return r;
}
public void unite(Set set)
{
int e[]=new int[10];
e=set.findAll();
for(int i=0;i<e.length;i++)
{
if(testElem(e[i])==false)
{continue;}
else
{addElem(e[i]);}
}
}
public void intersection(Set set)
{
Set r=new Set();
Elem e1,e2,tElem;
int i;
int[] e=findAll();
//for(e1=getStart();e1!=null;e1=e1.getNext())
//{System.out.println(e1);}
for(e1=set.getStart();e1!=null;e1=e1.getNext())
{
for(e2=getStart();e2!=null;e2=e2.getNext())
{
if(e1.getE()==e2.getE())
{r.addElem(e1.getE());}
}
}
for(start=null,end=null,tElem=r.getStart();tElem!=null;tElem=tElem.getNext())
{addElem(tElem.getE());}
}
}
/*
public Object clone() throws CloneNotSupportedException
{
Elem s,pre;
Set line=(Set)super.clone();
if(start!=null)
{
line.start=(Elem)start.clone();
pre=line.start;
Elem p=start.getNext();
while(p!=end)
{
s=(Elem)p.clone();
pre.setNext(s);
pre=s;
p=p.getNext();
}
if(end!=null)
{
line.end=(Elem)end.clone();
pre.setNext(line.end);
}
}
return line;
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -