首先是一个内部类:(上面链接的题目要求)
public static class Data implements Comparable
话说内部类不需要get和set方法。。
然后是需要提交的类中的main方法
private static Scanner input;
public static void main(String[] args) {
input = new Scanner(System.in);
Data[] tmp = new Data[10];
for(int i = 0; i < 10; i++) {
tmp[i] = new Data();
tmp[i].num = input.nextInt();
tmp[i].step = i + 1;
}
Arrays.sort(tmp);
//下面的代码只是为了实现题目要求的输出格式
for(int i = 0; i < 9; i++) {
System.out.print(tmp[i].num + " ");
}
System.out.println(tmp[9].num);
for(int i = 0; i < 9; i++) {
System.out.print(tmp[i].step + " ");
}
System.out.println(tmp[9].step);
}
然后是自己写的泛型MySort方法,依旧没有异常处理,ACM用的。。
private static> void quick_sort(T[] s, int l, int r) { if(l >= r) return; int i = l, j = r; T x = s[l]; while(i < j) { while(i < j && s[j].compareTo(x) >= 0) j--; if(i < j) s[i++] = s[j]; while(i < j && s[i].compareTo(x) < 0) i++; if(i < j) s[j--] = s[i]; } s[i] = x; quick_sort(s, l, i-1); quick_sort(s, i+1, r); } private static > void MySort(T[] data) { quick_sort(data, 0, data.length-1); }
有不足之处谢谢指出!