2.16.txt

来自「数据结构实验 如下: Status Fibonacci(int k, int」· 文本 代码 · 共 36 行

TXT
36
字号
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 + =
减小字号Ctrl + -
显示快捷键?