要求是返回删除的从第i个结点开始、长度为n子表,改变this
public SinglyList remove(int i,int n)
{
int length=0;
for(Node r=this.head.next;r!=null;r=r.next)
length++;
Node p=this.head;
SinglyList list=new SinglyList();
Node q=list.head;
for(int j=0;p.next!=null&&j
p=p.next;
Node now=p;
if(n<=length-i)
{
for(int j=0;p.next!=null&&j
{
q.next=new Node(p.next.data,null);
}
now.next=p.next;
}
if(n>length-i)
{
for(int j=0;p.next!=null&&j<=length-i;j++,q=q.next,p=p.next)
{
q.next=new Node<T>(p.next.data,null);
}
now.next=null;
}
return list;
}