有序列表的归并算法

来源:互联网 发布:淘宝小二介入上传凭证 编辑:程序博客网 时间:2024/05/17 23:17
import java.util.ArrayList;import java.util.List;public class ListMerge {/** * 两个有序list的合并 *  * @param args */public static void main(String[] args) {List<Integer> la = new ArrayList<Integer>();la.add(1);la.add(4);la.add(5);la.add(7);la.add(9);List<Integer> lb = new ArrayList<Integer>();lb.add(2);lb.add(6);lb.add(8);lb.add(10);lb.add(12);List<Integer> lc = new ArrayList<Integer>();int i = 0;int j = 0;while (i < la.size() && j < lb.size()) {// 归并if (la.get(i) <= lb.get(j)) {lc.add(la.get(i));i++;} else {lc.add(lb.get(j));j++;}}while (i < la.size()) {// la未空,插入la的剩余元素lc.add(la.get(i));i++;}while (j < lb.size()) {// lb未空,插入lb的剩余元素lc.add(lb.get(j));j++;}System.out.println(lc);}}

原创粉丝点击