- 377 名前:デフォルトの名無しさん [2017/09/18(月) 22:04:21.38 ID:9J0YS+py.net]
- public class QuickSort {
//static int[] list = new int[]{10, 7, 2, 8, 5, 1, 6, 4, 3, 9}; static int[] list = new int[]{10, 6, 2, 8, 5, 1, 0, 4, 3, 0}; public static void main(String[] args) { for (int i = 0; i < list.length; i++) {System.out.print(list[i] + ", ");} System.out.println(""); quickSort(list, 0, list.length - 1); for (int i = 0; i < list.length; i++) { System.out.print(list[i] + ", ");}} static void quickSort(int[] list, int start, int end) { int pivlot = list[(start + end) / 2]; int i = start; int j = end; while (true) { while (list[i] <= pivlot && i < list.length) { i++; } while (list[j] >= pivlot && j > 0) { j--; } if (i >= j) { break; } int tmp = list[j]; list[j] = list[i]; list[i] = tmp; } // sort left hand side if (start < i - 1) { quickSort(list, start, i - 1); } // sort right hanhd side if (j + 1 < end) { quickSort(list, j + 1, end); } } }
|

|