Advertisement
vladimirVenkov

quickSort

Jan 23rd, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.70 KB | None | 0 0
  1. private static List<Integer> quickSort(List<Integer> listToSort) {
  2.         if (listToSort.size() <= 1) {
  3.             return listToSort;
  4.         }
  5.  
  6.         int pivot = listToSort.get(0);
  7.  
  8.         List<Integer> lesser = listToSort.stream()
  9.                 .skip(1)
  10.                 .filter(x -> x <= pivot)
  11.                 .collect(Collectors.toList());
  12.         List<Integer> greater = listToSort.stream()
  13.                 .filter(x -> x > pivot)
  14.                 .collect(Collectors.toList());
  15.  
  16.         lesser = quickSort(lesser);
  17.         lesser.add(pivot);
  18.         greater = quickSort(greater);
  19.  
  20.         return Stream.concat(lesser.stream(), greater.stream()).collect(Collectors.toList());
  21.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement