**
* 快速排序
* */
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);
}
}
网友评论