google地图嵌入网站,电子商务管理系统,宁波seo外包推广渠道,建设银行网站特色一、 带尾指针的循环链表的合并
算法步骤#xff1a;
p存表头结点——pTa-next;Tb表头连接到Ta表尾——Ta-nextTb-next-next;释放Tb表头结点——delate Tb-next;修改指针——Tb-nextp;
LinkList Connect(LinkList Ta,LinkList Tb){pTa-next; …一、 带尾指针的循环链表的合并
算法步骤
p存表头结点——pTa-next;Tb表头连接到Ta表尾——Ta-nextTb-next-next;释放Tb表头结点——delate Tb-next;修改指针——Tb-nextp;
LinkList Connect(LinkList Ta,LinkList Tb){pTa-next; //p存表头结点Ta-nextTb-next-next; //Tb表头连接Ta表尾delete Tb-next; //释放Tb表头结点Tb-nextp; //修改指针return Tb;
}
二、 双向链表
结构定义如下
typedef struct DuLNode{Elemtype data;struct DuLNode *prior,*next;
}DuLNode,*DuLinkList;
priordatanext
双向链表结点结构
三、 双向循环链表
和单链的循环表类似双向链表也可以有循环表
让头结点的前驱指针指向链表的最后一个结点让最后一个结点的后继指针指向头结点
四、 双向链表的删除
void ListDelete_DuL(DuLink L,int i,ElemType e){//删除带头结点的双向循环链表L的第i个元素并用e带回if(!(pGetElemP_DuL(L,i))) return ERROR;ep-data;p-piror-nextp-next;p-next-priorp-prior;free(p);return OK;
}