二路归并,有一步无法理解,希望有明白的指点一下!
单链表的二路归并算法:已经产生两单链表,要将这两个单链表再不分配新的情况下并入一个新的单链表中,让一个已存在的链表的头结点作为新链表的头结点,在创建一个指针一直指向新链表的尾结点;
void erlu(SLinkNode *ha,SLinkNode *hb,SLinkNode *hc)
{
SLinkNode *pa=ha->next;*pb=hb->next;*tc;
hc=ha; //将ha的头节点作为hc的头结点
tc=hc; //让tc一直指向hc的尾节点
free(hb);
这是我从书上抄的一段代码,hc是要二路并入后的链表
我想问一下这个里面 tc=hc; 让tc指向hc尾节点,为什么可以这样写,感觉怪怪的,不知道怎么理解,希望有理解的给我解释一下,我对于链表的理解是不是有什么遗漏!