17

问题

       设有两个链表,ha为单向链表,hb为单向循环链表。编写算法,将两个链表合并成一个单向链表,要求算法所需时间与链表长度无关。

分析

       所需时间与链表长度无关,只有使用带尾指针的单循环单链表,将该序列插入单向链表第一元素之前即可。

代码

LinkList mergeList(LinkList &ha, LinkList &hb){
    ///ha单向链表,hb单向循环链表,hb指向尾结点
    LNode *q = hb -> next;
    hb -> next = ha -> next;
    ha -> next = q -> next;
    free(q);
}

源代码

    http://123.206.59.223:8080/code/code/17.rar

阅读更多

没有更多推荐了,返回首页