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
分享URL:http://azwzsj.com/article/doochsc.html