有一个数组 int[] a=new int[]{30, 43, 67, 89, 13 ,90 ,65, 76, 58, 33};
需要对其排序并输出排序后的结果和 原来数组元素的下标,怎么写代码?
输出结果是:
90 6
89 4
76 8
67 3
65 7
58 9
43 2
33 10
30 1
13 5 排序好排,可是输出原数组的下标就不知道咋写?
需要对其排序并输出排序后的结果和 原来数组元素的下标,怎么写代码?
输出结果是:
90 6
89 4
76 8
67 3
65 7
58 9
43 2
33 10
30 1
13 5 排序好排,可是输出原数组的下标就不知道咋写?
int[] a=new int[]{30, 43, 67, 89, 13 ,90 ,65, 76, 58, 33};
int temp;
Map<Integer,Integer> map = new HashMap<Integer,Integer>();
for(int i =0;i<a.length;i++){
map.put(a[i], i);
}
for(int i =0;i<a.length;i++){
for(int j=0;j<a.length-i-1;j++){
if(a[j]<a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
System.out.println(map);
for(int i =0;i<a.length;i++){
System.out.println(a[i]+" "+map.get(a[i]));
}
}
int[] a = new int[] { 30, 43, 67, 89, 13, 90, 65, 76, 58, 33 };
TreeMap<Integer, Integer> map = new TreeMap<Integer, Integer>();
for (int i = 0; i < a.length; i++) {
map.put(a[i], i);
} Set keys = map.entrySet();
Iterator iter = keys.iterator();
while (iter.hasNext()) {
Map.Entry<Integer, Integer> me = (Map.Entry<Integer, Integer>) iter.next();
System.out.println(me.getKey() + " " + me.getValue()); } }
int[] a=new int[]{30, 43, 67, 89, 13 ,90 ,65, 76, 58, 33};
Map<Integer,Integer> map = new TreeMap<Integer,Integer>();
for(int i=0;i<a.length;i++){
map.put(a[i], i);
}
for(Integer key : map.keySet()){
System.out.println(key+"\t"+map.get(key));
}
}
//这是用两个数组做的
public static void main(String[] args) {
int[] a=new int[]{30, 43, 67, 89, 13 ,90 ,65, 76, 58, 33};
int[] b=new int[]{1,2,3,4,5,6,7,8,9,10};
for(int i = 0;i<a.length;i++){
for(int j = i+1;j<a.length;j++){
if(a[i]<a[j]){
int t = a[i];
a[i] = a[j];
a[j] = t;
int p = b[i];
b[i] = b[j];
b[j] = p;
}
}
}
for(int k = 0;k<a.length;k++){
System.out.println(a[k]+" "+b[k]);
}
}
}
TreeMap<Integer, Integer> tm = new TreeMap<Integer, Integer>();
int[] a = new int[]{30, 43, 67, 89, 13 ,90 ,65, 76, 58, 33};
for(int i = 0;i < a.length;i++){
tm.put(a[i],i);
}
System.out.print(tm);
int i;
int j;
int t;
int[] a={30, 43, 67, 89, 13 ,90 ,65, 76, 58, 33};
int[] b={1,2,3,4,5,6,7,8,9,10};
for(i=0;i<a.length-1;i++)
{
for(j=i+1;j<a.length;j++)
{
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
t=b[i];
b[i]=b[j];
b[j]=t;
}
}
}
for(i=0;i<a.length;i++)
{
System.out.println(a[i]+" "+b[i]);
}
Integer[] a = new Integer[] { 30, 43, 67, 89, 13, 90, 65, 76, 58, 33 };
Map<Integer, Integer> map = new TreeMap<Integer, Integer>();
for (int i = 0; i < a.length; i++) {
map.put(a[i], i);
} for (Integer key : map.keySet()) {
System.out.println(key + "\t" + map.get(key));
} Arrays.sort(a, new Comparator() {
@Override
public int compare(Object a1, Object b1) {
int i1 = (Integer)a1;
int i2 = (Integer)b1;
return i2-i1;
}
});
for (Integer key : a) {
System.out.println(key + "\t" + map.get(key));
}