fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. static void quick_sort(int[] d, int left, int right) {
  11. if (left>=right) {
  12. return;
  13. }
  14. int p = d[(left+right)/2];
  15. int l = left, r = right, tmp;
  16. while(l<=r) {
  17. while(d[l] < p) { l++; }
  18. while(d[r] > p) { r--; }
  19. if (l<=r) {
  20. tmp = d[l]; d[l] = d[r]; d[r] = tmp;
  21. l++; r--;
  22. }
  23. }
  24. quick_sort(d, left, r); // ピボットより左側をクイックソート
  25. quick_sort(d, l, right); // ピボットより右側をクイックソート
  26. }
  27. // 配列内のデータ列を表示する
  28. static void print_data(int[] d) {
  29. for(int i = 0; i < d.length; i++) System.out.print(d[i] + " ");
  30. System.out.println();
  31. }
  32. public static void main(String[] args) {
  33. int[] data = {5, 10, 3, 7, 8, 1, 9, 2};
  34. print_data(data);
  35. quick_sort(data, 0, data.length-1);
  36. print_data(data);
  37. }
  38. }
Success #stdin #stdout 0.05s 4386816KB
stdin
Standard input is empty
stdout
5 10 3 7 8 1 9 2 
1 2 3 5 7 8 9 10