递归合并和排序列表

时间:2018-10-27 17:43:00

标签: java

我试图做一个递归合并和排序功能,我花了几个小时,但我还是很困惑。我查看了一些资源,并找到了答案,但我试图理解的不只是复制粘贴。而且这是家庭作业,似乎会作弊。

我希望有人能尝试给我一些下一步的方向。我编写了一个函数,该函数以递归方式将列表分为几个部分。合并和排序确实让我失望。

import java.util.*;
import java.util.Random;
public class TheEngine {

    private static List<Integer> test = new ArrayList<>();


    public static void main(String[] args) {

        Random rand = new Random();

        for(int i = 0; i < 12; i++) {
            test.add(rand.nextInt(100));
        }
        System.out.println(test);
        System.out.println(test.size());
        splitter(test);
    }


    public static List<Integer> splitter(List<Integer> list){



        int mid = list.size() / 2;

        if(list.size() == 1) {
            System.out.println(list);
        }
        else if(list.size() % 2 == 0) {
            //TODO: EVEN
            splitter(list.subList(0, mid));
            splitter(list.subList(mid, list.size()));
        }
        else if(list.size() % 2 == 1) {
            //TODO: ODD
            splitter(list.subList(0, mid));
            splitter(list.subList(mid, list.size()));
        }

        return list;
    }


}

0 个答案:

没有答案