java合并两个有序的单链表,合并之后的链表依然有序 |
您所在的位置:网站首页 › 合并两个单链表java › java合并两个有序的单链表,合并之后的链表依然有序 |
public class LinkedListConbine { public static void main(String[] args) { SingleLinkedList4 singleLinkedList1 = new SingleLinkedList4(); SingleLinkedList4 singleLinkedList2 = new SingleLinkedList4(); Node node1 = new Node(1); Node node2 = new Node(2); Node node3 = new Node(3); Node node4 = new Node(4); Node node5 = new Node(5); Node node6 = new Node(6); Node node7 = new Node(7); Node node8 = new Node(8); singleLinkedList1.add(node3); singleLinkedList1.add(node1); singleLinkedList1.add(node7); singleLinkedList1.add(node5); singleLinkedList2.add(node2); singleLinkedList2.add(node6); singleLinkedList2.add(node8); singleLinkedList2.add(node4); System.out.println("链表一:"); singleLinkedList1.show(singleLinkedList1.head); System.out.println("链表二:"); singleLinkedList2.show(singleLinkedList2.head); System.out.println("合并两个链表=========="); Node conbine = singleLinkedList1.conbine(singleLinkedList1.head, singleLinkedList2.head); singleLinkedList1.show(conbine); }} class SingleLinkedList4 { public Node head; public SingleLinkedList4() { head = new Node(-1); } /** * 数据按从小到大的顺序添加到链表中 * @param newNode 新节点 */ public void add(Node newNode) { //辅助变量必须从head开始,不能从head.next开始,否则链表就断了 Node cur = head; Node pre = head; int value = newNode.num; while (cur.next != null) { pre = cur; cur = cur.next; if(value |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |