两个单向循环链表的连接

已知尾结点的两个单向循环链表的合并

两个单向循环链表的连接_第1张图片

    合并后的结果为b头 ->11->22->33->A->B ->b的头

第一步,得先确定需要删除的结点。那么我们可以选择a链表的头节点

        要删除就用pDel   a的头结点 的地址在pRa中

    所以 pDel = pRa->pNext;

第二步 保护后面的结点

    用pRa指向b链表的头

    pRa->pNext =pRb->pNext;

    3.pRb 指向pdel的下一个

        pRb->pNext=pDel ->pNext;

    4. free(pDel);pDel = NULL;

    

已知头结点的两个单向循环链表的合并

    两个单向循环链表的连接_第2张图片

         先看结果

        b链表的头->a->b->1->2->b链表的头

        1.确定要删除的结点 pDel ; pDel = pHa

                两个单向循环链表的连接_第3张图片

        2.找到pHa链表的尾结点  pTa    让pTa指向 pHb   指向的意思就是 pHb 是pTad 的下一个结点

           pTa->pNext = pHb

         3.找到pHb链表的尾结点pTb,让pTb指向pDel的下一个

        pTb ->pNext = pDel->pNext

        

你可能感兴趣的:(C语言,计算机基础)