프로그래밍/알고리즘

quickSort

프리월드 2017. 2. 24. 21:08


public void testQuickSort() {
    List<Integer> numberList = Arrays.asList(13-5-910740922);
    List<Integer> quickResult = quickSort(numberList);
    for (int i = 0i < 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 = 1i < 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;
}


'프로그래밍 > 알고리즘' 카테고리의 다른 글

DFS(미로찾기)  (0) 2017.02.24
이진트리(BinaryTree)  (0) 2017.02.24
Queue  (0) 2017.02.24
binarySearch  (0) 2017.02.24
Stack(TwoStack)  (0) 2017.02.24