题目内容
请完成以下代码填空:/** 在带头结点单链表中,删除第i个结点*无须专门判断空表,在实现语句中已经排除了空表情况* 不合理的i位置:i<0、i>length(单链表当前长度)*///first为指向单链表头结点的头引用public T delete(int i) {LinkedNode p=(); //引用变量p初始化,指向头结点int count=();// 寻找第i个结点的前驱(定位第i-1个结点的位置)while(p!=null && counti-1:排除i<1* p==null:排除i>length+1(单链表当前长度)--被删结点和其前驱结点均不存在* p.next==null:排除i=length+1(单链表当前长度),被删结点不存在但其前驱结点存在*/if(count>i-1 || p==null || ()==null) { //p==null条件判断在p.next==null之前throw new ListException("delete:删除位置**:"+i+" 异常!");}LinkedNode q=();//q指向第i个结点T delData=(); //记录要删除的结点元素信息p.next=(); //删除第i个结点return delData;}
查看答案
搜索结果不匹配?点我反馈