java实现数组排序后,获取原脚标顺序
java实现数组排序后,获取原脚标顺序
浩渺_苍穹 发表于11个月前
java实现数组排序后,获取原脚标顺序
  • 发表于 11个月前
  • 阅读 10
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

自定义一个类,用于存储数值和下标,类似C语言的结构体 

public class MyArray {
	private  int subscript;
	private  double value;

	public  int getSubscript() {
		return subscript;
	}

	public  void setSubscript(int subscript) {
		this.subscript = subscript;
	}

	public  double getValue() {
		return value;
	}

	public void setValue(double value) {
		this.value = value;
	}
}

 

实现:

        MyArray[] a = new MyArray[5];
	    for (int i = 0; i < a.length; i++) {
			a[i] = new MyArray();
			a[i].setValue(Math.random());
			a[i].setSubscript(i);
		}
		double tmp = 0;
		int tmpj = 0;
		for (int j = 0; j < a.length; j++) {
			for (int i = 0; i < a.length-j-1; i++) {
				if (a[i].getValue()<a[i+1].getValue()) {
					tmp = a[i].getValue();
					a[i].setValue(a[i+1].getValue());
					a[i+1].setValue(tmp);
					//置换原来的脚标
					tmpj = a[i].getSubscript();
					a[i].setSubscript(a[i+1].getSubscript());
					a[i+1].setSubscript(tmpj);
				}
			}
		}
		//输出排序后的值和下标
		for (int i = 0; i < a.length; i++) {
			System.out.print(a[i].getValue()+"\t");
			System.out.println(a[i].getSubscript()+"\t");
		}

 

共有 人打赏支持
粉丝 0
博文 1
码字总数 193
×
浩渺_苍穹
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: