SDUT 1196-排序问题(java类排序)
排序问题
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
输入
输出
示例输入
1 2 3 5 4 6 8 9 10 7
示例输出
1 2 3 4 5 6 7 8 9 10 1 2 3 5 4 6 10 7 8 9
Arrays类提供的排序只能升序排,而且是对单调的数字或字母,但可以通过Comparator比较器来修改进行类排序,我想了一下也许这样可以实现对单一数字数组的降序排序?待会试一下
import java.io.*; import java.util.*; import java.math.*; import java.text.*; class node { public int tag,num; } class cmp implements Comparator<node> { public int compare(node A,node B) { return A.num-B.num; } } public class Main { public static void main(String[] args){ Scanner in=new Scanner(System.in); node[] a=new node[11]; for(int i=0;i<10;i++){ a[i]=new node(); a[i].num=in.nextInt(); a[i].tag=i+1; } Arrays.sort(a,0,10,new cmp()); for(int i=0;i<10;i++) if(i!=9) System.out.print(a[i].num+" "); else System.out.print(a[i].num); System.out.println(""); for(int i=0;i<10;i++) if(i!=9) System.out.print(a[i].tag+" "); else System.out.print(a[i].tag); System.out.println(""); } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。