一个数组dataArray[m] 里有m个数字,要求按数字从小到达排列的数字下标储存在新的数组中 indexArray[n]中...

package org.crazyit.app.action;

import java.util.HashMap;
import java.util.Map;

public class Test {
public static void main(String[] args) {
// 0 1 2 3 4
Integer[] dataArray={23,43,21,22,32};
// 2 3 0 4 1
Integer[] indexArray=new Integer[dataArray.length];
Test.sort(dataArray, indexArray);
for(int i=0;i<indexArray.length;i++){
System.out.println(indexArray[i]);
}
}

public static Integer[] sort(Integer[] dataArray,Integer[] indexArray){
int temp=0;
Map<Integer,Integer> map=new HashMap<Integer,Integer>();

for(int i=0;i<dataArray.length;i++){
map.put(dataArray[i],i);
}

for(int i=0;i<dataArray.length-1;i++){
for(int j=0;j<dataArray.length-1;j++){
if(dataArray[j]>dataArray[j+1]){
temp=dataArray[j];
dataArray[j]=dataArray[j+1];
dataArray[j+1]=temp;
}
}
}
//根据map的键值对取值
for(int i=0;i<indexArray.length;i++){
indexArray[i]=map.get(dataArray[i]);
}

return indexArray;

}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值