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

要求(1)顺序表C也为从小到大排列(2)用JAVA语言编写(3)要用泛型(4)尽量详细点编写

感觉1楼和2楼的说法都不错
先把
a列的值放在List<Integer> listA=new ArrayList<Integer>();
b列的值放在List<Integer> listB=new ArrayList<Integer>();
c列的值放在List<Integer> listC=new ArrayList<Integer>();
接下来
//把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楼,好象有个小错误。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-26
说一下思想.
两个顺序表AB,分别设置2个指针i,j指向顺序表的第一个元素,然后互相比较i,j的值,如果i小于j的话,把i的值插入到顺序表C里,并且i的指针加1,然后继续比较,一直比较到i或j有一个指针为空为止..
然后判断i和j的值.如果都等于空,那么就结束了,否则把不为空的那个指针所指的表里的内容全部添加到顺序表C里..
具体用java怎么实现,有了这算法,lz应该能写出吧
第2个回答  2013-09-26
这个问题我不是很明白.
所以简单说下我的理解,首先,竟然是有序的的数据,那么不存在javabean的问题了
如果要实现功能 可能代码有点多 我就写个思路好了
如果你数据是int类型
首先查询出a和b表的内容
a表放在List<Integer> listA
b表放在List<Integer> listB
c表放在List<Integer> listC

接下来简单了
listC.add(listA);
listC.add(listB);
Collecions.sort(list3);
如果自己写排序,那算法自己研究了
OK!
第3个回答  2013-09-26
import java.util.*;
public class Test {
public static void main(String[] args) {
List<Integer> num1=new ArrayList<Integer>();
num1.add(20);
num1.add(10);
num1.add(80);
List<Integer> num2=new ArrayList<Integer>();
num2.add(40);
num2.add(30);
num2.add(90);
List<Integer> num3=new ArrayList<Integer>();
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+" ");
}

}

}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网