📄 2.16.txt
字号:
Status DeleteAndInsertSub(LinkList &la, LinkList &lb,
int i, int j, int len)
// la和lb分别指向两个单链表中第一个结点, */
/* 本算法是从la表中删去自第i个元素起共len个元素,*/
/* 并将它们插入到lb表中第j个元素之前, */
/* 若lb表中只有j-1个元素,则插在表尾。 */
{
if(i<=0||j<=0||len<=0) return INFEASIBLE;
int k;
LNode * q,* p,* s,* prep=NULL;
p=la; k=1;
while(p&&k<i){
prep=p; p=p->next; k++;
}
if(!p) return INFEASIBLE;
q=p;
while(k<i+len-1){
q=q->next;k++;
}
if(!q) return INFEASIBLE;
if(!prep) la=q->next;
else prep->next=q->next;
if(j==1) {q->next=lb; lb=p;}
else {
s=lb; k=1;
while(s&&k<j-1){s=s->next;k++;}
if(!s) return INFEASIBLE;
q->next=s->next; s->next=p;
}
return OK;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -