当前位置: 首页 > 知识库问答 >
问题:

如何在java中合并未排序的链表

翟光赫
2023-03-14

//我怎样才能实现这个功能?我想合并两个未排序的链表。

public static LinkedList mergeUnsortedLists(LinkedList list1, LinkedList list2) {
    LinkedList list3= new LinkedList();
    Node curr_odd = list1.head;
    Node curr_even = list2.head;
    Node prev = null;
    
    while(curr_odd != null){
        prev = curr_odd;
        curr_odd = curr_odd.getNext();
    
    }
    
    prev = curr_even;
    
  return list3;
}

共有1个答案

姚韬
2023-03-14
public static LinkedList mergeUnsortedLists(LinkedList list1, LinkedList list2) { 
    if (lis1.head == null) {
        return list2;
    }

    if (list2.head == null) {
        return list1;
    }

    for (Node crt = list1.head; crt.getNext() != null; crt = crt.getNext());
    
    // Need to link last element in l1 to head element of l2
    crt.setNext(list2.head);
    
    return list1;
}
 类似资料:
  • 我写了一个合并两个已经排序的链表的方法。然而,由于某种原因,列表的最后一个节点没有打印出来。有什么想法吗? 下面是链接列表的合并排序方法。

  • 我想使用java实现只使用链表而不使用任何数组的合并排序。但我陷入了一个逻辑错误;我的代码消除了一些输入并对剩余部分进行排序。我应用了三个类:

  • 合并排序通常是对链表排序的首选方式。链表缓慢的随机访问性能使得一些其他算法(如quicksort)表现不佳,而另一些算法(如heapsort)则完全不可能。我一直在努力在链表上做归并排序。它不断返回一个错误。我正在提供我试图执行的代码。请一定要帮我。它不断给出运行时错误。

  • 我有一个练习,我必须在链表中插入一个字符串。假设字符串如下所示: 在合并排序之后,链表应该是这样的: 问题是在我的合并排序代码中,我收到以下内容: 所有的单词都被排序,但第一个单词(原始列表的头部)不是。 我有两个类:TextList和WordNode。 WordNode类有两个属性: TextList类只有一个属性:链接列表头的地址: 我有一个构造函数,在其中我将字符串随机插入到一个链表中。最后

  • 我试图借助单链表编写合并排序,节点定义如下, 合并排序的工作方式如下: i、 将未排序的列表划分为n个子列表,每个子列表包含1个元素(1个元素的列表被视为已排序)。 二、。重复合并子列表以生成新排序的子列表,直到只剩下1个子列表。这将是排序列表。代码如下所示。 我像这样打入会电话, 结果是,所有负值似乎都消失了。这里有什么问题?

  • NowCoder 题目描述 解题思路 递归 // java public ListNode Merge(ListNode list1, ListNode list2) { if (list1 == null) return list2; if (list2 == null) return list1; if (list1.val <= lis