美文网首页java
快速排序-递归实现

快速排序-递归实现

作者: 恏人_7d7c | 来源:发表于2019-10-21 22:07 被阅读0次

    **

    *  快速排序

    * */

    public class QuickSortTest {

    public static >void quickSort(List items) {

    if (items.size() >1) {

    List samaller =new ArrayList<>();//小的

                List same =new ArrayList<>();//相同的

                List larger =new ArrayList<>();//较大的

                int index = items.size() /2;

                Integer chosentItem = items.get(items.size() /2);

                for (int i =0; i < items.size(); i++) {

    if (items.get(i) < chosentItem) {

    samaller.add(items.get(i));

                    }else if (items.get(i) > chosentItem) {

    larger.add(items.get(i));

                    }else {

    same.add(items.get(i));

                    }

    }

    quickSort(samaller);

                quickSort(larger);

                items.clear();

                items.addAll(samaller);

                items.addAll(same);

                items.addAll(larger);

            }

    }

    public static void main(String[] args) {

    ArrayList objects =new ArrayList<>();

            objects.add(9);

            objects.add(1);

            objects.add(10);

            objects.add(944);

            objects.add(0);

            objects.add(-1);

            objects.add(6);

            objects.add(9);

            objects.add(9);

            quickSort(objects);

        }

    }

    相关文章

      网友评论

        本文标题:快速排序-递归实现

        本文链接:https://www.haomeiwen.com/subject/rlgxvctx.html