public class SingleList<T> extends Object
{
public Node<T> head;
public SingleList()
{this.head=new Node<T>();
}
public SingleList(T[] value)
{this();
Node<T> rear=this.head;
for(int i=0;i<value.length;i++)
{rear.next=new Node<T>(value,null);
rear=rear.next;
}
}
public T get(int i)
{
Node<T> p=this.head.next;
for(int j=0;p!=null&&j<i;j++)
p=p.next;
return (i>=0&&p!=null)?p.data:null;
}
public String toString()
{
String str="(";
for(Node<T> p=this.head.next;p!=null;p=p.next)
{str+=p.data.toString();
if(p.next!=null)
str+=",";
}
return str+")";
}
public void insert(T x)//尾插入方法
{
Node<T> p=new Node(x,null);
Node<T> front=this.head;
while(front.next!=null)
{front=front.next;
}
front.next=p;
}
public SingleList(SingleList<T> list) //深拷贝
{
this();
Node<T> x=this.head;
Node<T> p=list.head;
x.data=p.data;
p=p.next;
for(;p!=null;p=p.next)
{
x.next=new Node<T>(p.data,null);
x=x.next;
}
}
public SingleList<T> union(SingleList<T> list_b) //返回两个集合的并集,尾插入
{
Node<T> p_a=this.head;
for(Node<T> p_b=list_b.head;p_b.next!=null;p_b=p_b.next)
for(int i;p_a.next!=null;p_a=p_a.next)
{
Node<T> p=new Node(p_b.data,null);
Node<T> front=head;
while(front.next!=null)
{
front=front.next;
}
front.next=p;
}
return(this);
}
public static void main(String[] args)
{
SingleList testlist01=new SingleList<Integer>();
testlist01.insert(1);
testlist01.insert(2);
testlist01.insert(3);
testlist01.insert(4);
testlist01.insert(5);
System.out.println(testlist01.toString());
SingleList testlist02=new SingleList<Integer>();
testlist02.insert(6);
testlist02.insert(4);
testlist02.insert(2);
testlist02.insert(9);
testlist02.insert(7);
System.out.println(testlist02.toString());
System.out.println(testlist01.toString());
testlist01.union(testlist02);
System.out.println(testlist01.toString());
}
}
Fn9k4DPj
2018/1/25 3:54:48
2-4 SinglyList<T> union(SinglyList<T>list) //返回并集,尾插入
这是题目要求