public static void sort(string[] strarr) { int num = strarr.Length; string[] array = new string[num]; MSD.sort(strarr, 0, num - 1, 0, array); }
/**/ public static void main(string[] strarr) { string[] array = StdIn.readAllStrings(); int num = array.Length; MSD.sort(array); for (int i = 0; i < num; i++) { StdOut.println(array[i]); } }
private static void sort(string[] array, int num, int num2, int num3, string[] array2) { if (num2 <= num + 15) { MSD.insertion(array, num, num2, num3); return; } int[] array3 = new int[258]; for (int i = num; i <= num2; i++) { int num4 = MSD.charAt(array[i], num3); int[] arg_33_0 = array3; int num5 = num4 + 2; int[] array4 = arg_33_0; array4[num5]++; } for (int i = 0; i < 257; i++) { int[] arg_54_0 = array3; int num5 = i + 1; int[] array4 = arg_54_0; array4[num5] += array3[i]; } for (int i = num; i <= num2; i++) { int num4 = MSD.charAt(array[i], num3); int[] arg_7F_0 = array3; int num5 = num4 + 1; int[] array4 = arg_7F_0; int[] arg_8B_0 = array4; int arg_89_0 = num5; num5 = array4[num5]; int num6 = arg_89_0; array4 = arg_8B_0; int arg_99_1 = num5; array4[num6] = num5 + 1; array2[arg_99_1] = array[i]; } for (int i = num; i <= num2; i++) { array[i] = array2[i - num]; } for (int i = 0; i < 256; i++) { MSD.sort(array, num + array3[i], num + array3[i + 1] - 1, num3 + 1, array2); } }