有A和B两个顺序表,数据都为从小到大排列,如何把它们合并从一个顺序表C

2024-12-05 00:47:20
推荐回答(4个)
回答1:

感觉1楼和2楼的说法都不错
先把
a列的值放在List listA=new ArrayList();
b列的值放在List listB=new ArrayList();
c列的值放在List listC=new ArrayList();
接下来
//把a列的值和b列的值不管顺序加到C表,执行List的add()方法
for(Integer i:listA)
{
listC.add(i);
}
for(Integer j:listB)
{
listC.add(j);
}

//调用SUN公司写好的排序方法对 listC排序
Collecions.sort(listC);

而第3楼,好象有个小错误。

回答2:

说一下思想.
两个顺序表AB,分别设置2个指针i,j指向顺序表的第一个元素,然后互相比较i,j的值,如果i小于j的话,把i的值插入到顺序表C里,并且i的指针加1,然后继续比较,一直比较到i或j有一个指针为空为止..
然后判断i和j的值.如果都等于空,那么就结束了,否则把不为空的那个指针所指的表里的内容全部添加到顺序表C里..
具体用java怎么实现,有了这算法,lz应该能写出吧

回答3:

这个问题我不是很明白.
所以简单说下我的理解,首先,竟然是有序的的数据,那么不存在javabean的问题了
如果要实现功能 可能代码有点多 我就写个思路好了
如果你数据是int类型
首先查询出a和b表的内容
a表放在List listA
b表放在List listB
c表放在List listC

接下来简单了
listC.add(listA);
listC.add(listB);
Collecions.sort(list3);
如果自己写排序,那算法自己研究了
OK!

回答4:

import java.util.*;
public class Test {
public static void main(String[] args) {
List num1=new ArrayList();
num1.add(20);
num1.add(10);
num1.add(80);
List num2=new ArrayList();
num2.add(40);
num2.add(30);
num2.add(90);
List num3=new ArrayList();
for(Integer i:num1)
{
num3.add(i);
}
for(Integer i:num2)
{
num3.add(i);
}
Collections.sort(num3);
System.out.println("合并后的列表:");
for(Integer i:num3)
{
System.out.print(i+" ");
}

}

}