프로그래밍/알고리즘
quickSort
프리월드
2017. 2. 24. 21:08
public void testQuickSort() {
List<Integer> numberList = Arrays.asList(1, 3, -5, -9, 10, 7, 4, 0, 9, 22);
List<Integer> quickResult = quickSort(numberList);
for (int i = 0; i < quickResult.size(); i++) {
Log.i("kjw", "result = " + quickResult.get(i));
}
}
public static List<Integer> quickSort(List<Integer> numbers) {
if (numbers.size() < 2) {
return numbers;
}
int pivot = numbers.get(0);
List<Integer> lower = new ArrayList();
List<Integer> higher = new ArrayList();
for (int i = 1; i < numbers.size(); i++) {
if (numbers.get(i) < pivot) {
lower.add(numbers.get(i));
} else {
higher.add(numbers.get(i));
}
}
List<Integer> sorted = quickSort(lower);
sorted.add(pivot);
sorted.addAll(quickSort(higher));
return sorted;
}
List<Integer> numberList = Arrays.asList(1, 3, -5, -9, 10, 7, 4, 0, 9, 22);
List<Integer> quickResult = quickSort(numberList);
for (int i = 0; i < quickResult.size(); i++) {
Log.i("kjw", "result = " + quickResult.get(i));
}
}
public static List<Integer> quickSort(List<Integer> numbers) {
if (numbers.size() < 2) {
return numbers;
}
int pivot = numbers.get(0);
List<Integer> lower = new ArrayList();
List<Integer> higher = new ArrayList();
for (int i = 1; i < numbers.size(); i++) {
if (numbers.get(i) < pivot) {
lower.add(numbers.get(i));
} else {
higher.add(numbers.get(i));
}
}
List<Integer> sorted = quickSort(lower);
sorted.add(pivot);
sorted.addAll(quickSort(higher));
return sorted;
}