fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Collections;
  5.  
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main(String[] args) {
  11. ArrayList<Integer> list = new ArrayList<>();
  12. for (int i = 0; i < 10; i++) {
  13. list.add(i);
  14. }
  15.  
  16. Collections.shuffle(list);
  17. System.out.println(list);
  18. ArrayList<Integer> sorted = sort(list);
  19. System.out.println(sorted);
  20. }
  21.  
  22. static ArrayList<Integer> sort(ArrayList<Integer> src) {
  23. if (src.size() < 2) return new ArrayList<>(src);
  24.  
  25. ArrayList<Integer> lt = new ArrayList<>();
  26. ArrayList<Integer> eq = new ArrayList<>();
  27. ArrayList<Integer> gt = new ArrayList<>();
  28.  
  29. int p = src.get(0);
  30. for (int i : src) (i < p ? lt : i > p ? gt : eq).add(i);
  31.  
  32. ArrayList<Integer> result = sort(lt);
  33. result.addAll(eq);
  34. result.addAll(sort(gt));
  35.  
  36. return result;
  37. }
  38.  
  39. }
Success #stdin #stdout 0.11s 320576KB
stdin
Standard input is empty
stdout
[6, 4, 8, 7, 1, 0, 9, 5, 2, 3]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]