更多“已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。(保留所有结点,即便大 ”相关问题
  • 第1题:

    设head1和P1分别是不带头结点的单向链表A的头指针和尾指针,head2和P2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表,写出其中两个关键的赋值语句(不用完整程序,结点的链域为next)。

  • 第2题:

    将两个分别含有m、n个节点的有序单链表归并成一个有序单链表,要求不破坏原有的单链表,对应算法的空间复杂度是()(MIN表示取最小值)。

    A.O(n)

    B.O(m)

    C.O(m+n)

    D.O(MIN(m,n))


    O(log2n)

  • 第3题:

    1、有两个递增有序表,所有元素为整数,均采用带头结点的单链表存储,结点类型定义如下: typedef struct node { int data; struct node *next; } LinkNode; 设计一个尽可能高效的算法,将两个递增有序单链表ha、hb合并为一个递减有序单链表hc,要求算法空间复杂度为O(1)。


    A

  • 第4题:

    已知两个带头结点的单链表L1和L2中的结点值均已按升序排序,设计一个算法,将L1和L2合并成一个升序的带头结单链表,并用L1记录新的带头结点单链表。


    A

  • 第5题:

    试设计一个结点数据类型为整型的带表头结点的有序单链表,然后设计一个算法,该算法将这个有序单链表划分成两个单链表,使得第一个单链表中包含原单链表中所有数值为奇数的结点,第二个单链表中包含原单链表中所有数值为偶数的结点,且两个单链表中结点的相对排列顺序与原单链表中相同。 【要求】要求使用原单链表的空间,表头结点可以另辟空间。 【提示】请先在自己的稿纸上作答,然后将全部答题过程及所得结果拍照,以图片形式作为附件上传。请确保照片中的字迹足够清晰、解答过程完整。


    D解析:若要删除结点需要改变尾指针的指向。