java单链表合并代码 合并两个单链表java

实现两个链表的合并,使用java语言编写一程序,将A表和B表归并成一个新的递增有序的单链表C,值

import java.util.Collections;

创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、做网站、南州晴隆网络推广、微信小程序、南州晴隆网络营销、南州晴隆企业策划、南州晴隆品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供南州晴隆建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

import java.util.LinkedList;

import java.util.List;

public class TestMouse1 {

public static void main(String[] agse) {

ListInteger list1 = new LinkedListInteger();

Collections.addAll(list1, 30, 41, 15, 12, 56, 80);

ListInteger list2 = new LinkedListInteger();

Collections.addAll(list2, 23, 56, 78, 23, 12, 33, 79, 90, 55);

test1(list1, list2);

}

public static void test1(ListInteger list1, ListInteger list2) {

list1.removeAll(list2);// list1中删除和list2中交集的元素

list2.addAll(list1);// 合并

Collections.sort(list2);

for (Integer integer : list2) {

System.out.print(integer + " ");

}

}

}

请采纳

Java合并两个排序的链表问题(剑指offer)

1、先将两个链表分别进行各自排序。如果题目已说明原来的两个链表是已经排好序的话,此步可以省略。

2、新建一个空链表,按照顺序(或者由小到大或者由大到小),依次将两个链表的数据排列到新的链表中。

这样最后得到的链表就是最终合并的链表。

使用java设计算法,完成将两个有序递增的单链表合并为一个有序递增的单链表,重复的元素只出现一次。

type

point=^node;

node=record

data:integer;

next:point;

end;

var h1,h2,h:point;

procedure prt(p:point); //打印链表

begin

p:=p^.next;

while pnil do

begin

write(p^.data,' ');

p:=p^.next;

end;

writeln;

end;

procedure creat(var h:point); //建立链表

var x:integer; p,q:^node;

begin

writeln('请输入升序的数,负数结束:');

new(h);

p:=h;

read(x);

while(x=0)do

begin

new(q);

q^.data:=x;

p^.next:=q;

p:=q;

read(x);

end;

p^.next:=nil;

end;

function merge_link(var p,q:point):point; //升序合并二个升序链表

var h,w:^node;

begin

w:=p; p:=p^.next; dispose(w); //回收一个头结点,p指向首个数据结点

w:=q; h:=q; q:=q^.next; //h:合并后的头结点,q指向首个数据结点

while (pnil)and(qnil) do //当二个链表都不空时

if(p^.dataq^.data) then //选一个小的结点

begin

w^.next:=p; //把小结点链入

p:=p^.next; //跳过此结点

w:=w^.next; //w指向当前合并后链表的尾结点

end

else

begin //下面三行作用同上

w^.next:=q;

q:=q^.next;

w:=w^.next;

end;

if pnil then w^.next:=p; //将未完的链表接入

if qnil then w^.next:=q; //将未完的链表接入

merge_link:=h; //返回合并后的链表头指针

end;

begin

creat(h1);

creat(h2);

h:=merge_link(h1,h2);

writeln('合并后的链表:');

prt(h);

用java语言实现两个链表的合并,编一程序将A表和B表归并成一个新的递增有序的单链表C(值相同的元

数组a存储

'A' 'B' 'C' 'D' 'E' 'F'

数组b存储

'A' 'B' 'C' 'D' 'E' 'F' \0

数组a是字符数组

数组b是一个字符串

一般字符串以说以\0结尾的

所以数组a不算是字符串

长度上也不相同

因为数组b多了个\0

如何用Java合并两个升序单链表

比如a b是2个有序升链表,设c为集合链表

while(a.next()!=null||b.next()!=null)

{

if(a.getdata()b.getdata()){c.next()=b;c=c.next();b=b.next();}

else if(a.getdata()b.getdata()){c.next()=a;c=c.next();a=a.next();}

else {c.next()=a;c=c.next();a=a.next();b=b.next();}

}


网站名称:java单链表合并代码 合并两个单链表java
网址分享:http://hbruida.cn/article/doochsc.html