两个有序单链表的合并

Posted ZECDLLG

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个有序单链表的合并相关的知识,希望对你有一定的参考价值。

技术分享图片
public class InsertList {

    public Node Insert(Node headNode1, Node headNode2) {
        Node headNode = null;
        Node base = new Node(headNode1);
        Node step = new Node(headNode2);
        if (base == null && step != null) {
            headNode = headNode;
        } else if (step == null && base != null) {
            headNode = headNode;
        } else if (base != null && step != null) {
            Node prebase = null;
            while (step != null) {
                while (base != null) {
                    if (base.data >= step.data) {
                        Node insertNode= new Node(step.data);
                        if (prebase == null) {
                            insertNode.next = base;
                            headNode=insertNode;
                        } else {
                            prebase.next = insertNode;
                            insertNode.next = base;
                        }
                        break;
                    }
                    prebase = base;
                    base = base.next;
                }

                step = step.next;
            }
        }
        return headNode;
    }

}
View Code

 

以上是关于两个有序单链表的合并的主要内容,如果未能解决你的问题,请参考以下文章

算法总结之 合并两个有序的单链表

数据结构(C语言版)严蔚敏->单链表的定义及合并两个有序单链表

栈和队列----合并两个有序的单链表

算法与数据结构单链表的增删改查逆序打印与输出合并有序链表

数据结构(C语言版)严蔚敏->单链表的定义及合并两个有序单链表

实用数据结构:怎样把两个单链表A B(本身都是有序表)合并为C并且C为有序表