文档章节

java实现数组排序后,获取原脚标顺序

浩渺_苍穹
 浩渺_苍穹
发布于 2016/11/24 16:42
字数 193
阅读 25
收藏 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
作品 0
青岛
私信 提问
LeetCode:Missing Number - 缺失的数字

1、题目名称 Missing Number (缺失的数字) 2、题目地址 https://leetcode.com/problems/missing-number 3、题目内容 英文:Given an array containing n distinct numbers taken from 0, ......

北风其凉
2015/08/25
0
1
关于 Java Collections API 您可能不知道的 5 件事

对于很多 Java 开发人员来说,Java Collections API 是标准 Java 数组及其所有缺点的一个非常需要的替代品。将 Collections 主要与 联系到一起本身没有错,但是对于那些有探索精神的人来说,...

红薯
2010/05/26
483
1
【死磕Java并发】—– 死磕 Java 并发精品合集

【死磕 Java 并发】系列是 LZ 在 2017 年写的第一个死磕系列,一直没有做一个合集,这篇博客则是将整个系列做一个概览。 先来一个总览图: 【高清图,请关注“Java技术驿站”公众号,回复:脑...

chenssy
07/22
0
0
08《Java核心技术》之Vector、ArrayList、LinkedList有何区别?

一、提出问题 我们在日常的工作中,能够高效地管理和操作数据是非常重要的。由于每个编程语言支持的数据结构不尽相同,比如我们最早接触到的 C 语言,需要自己实现很多基础数据结构,管理和操...

飞鱼说编程
10/11
0
0
面试 10:玩转 Java 选择排序和插入排序

面试 10:Java 玩转选择排序和插入排序 昨天给大家讲解了 Java 玩转冒泡排序,大家一定觉得并没有什么难度吧,不知道大佬们玩转了吗?不知道大家有没有多加思考,实际上在我们最后的一种思路...

nanchen2251
07/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Ubuntu18.04 安装MySQL

1.安装MySQL sudo apt-get install mysql-server 2.配置MySQL sudo mysql_secure_installation 3.设置MySQL非root用户 设置原因:配置过程为系统root权限,在构建MySQL连接时出现错误:ERROR...

AI_SKI
今天
2
0
3.6 rc脚本(start方法) 3.7 rc脚本(stop和status方法) 3.8 rc脚本(以daemon方式启动)

3.6-3.7 rc脚本(start、stop和status方法) #!/usr/bin/env python# -*- coding: utf-8 -*-# [@Version](https://my.oschina.net/u/931210) : python 2.7# [@Time](https://my.oschina.......

隐匿的蚂蚁
今天
3
0
Cnn学习相关博客

CNN卷积神经网络原理讲解+图片识别应用(附源码) 笨方法学习CNN图像识别系列 深度学习图像识别项目(中):Keras和卷积神经网络(CNN) 卷积神经网络模型部署到移动设备 使用CNN神经网络进行...

-九天-
昨天
4
0
flutter 底部输入框 聊天输入框 Flexible

想在页面底部放个输入框,结果键盘一直遮住了,原来是布局问题 Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("评论"), ...

大灰狼wow
昨天
4
0
Kernel I2C子系统

备注:所有图片来源于网络 1,I2C协议: 物理拓扑: I2C总线由两根信号线组成,一条是时钟信号线SCL,一条是数据信号线SDA。一条I2C总线可以接多个设备,每个设备都接入I2C总线的SCL和SDA。I...

yepanl
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部