码迷,mamicode.com
首页 > 编程语言 > 详细

SDUT 1196-排序问题(java类排序)

时间:2014-09-16 22:14:01      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:des   style   http   color   io   os   java   ar   for   

排序问题

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

输入10个整数,将它们从小到大排序后输出,并给出现在每个元素在原来序列中的位置。

输入

输入数据有一行,包含10个整数,用空格分开。

输出

输出数据有两行,第一行为排序后的序列,第二行为排序后各个元素在原来序列中的位置。

示例输入

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("");
	}
}

SDUT 1196-排序问题(java类排序)

标签:des   style   http   color   io   os   java   ar   for   

原文地址:http://blog.csdn.net/qq_16255321/article/details/39323015

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!