快速排序-递归实现

**

*  快速排序

* */

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);

    }

}

你可能感兴趣的:(快速排序-递归实现)