栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

设计一个方法求任意int数组第二大的数的下标(内涵代码)

设计一个方法求任意int数组第二大的数的下标(内涵代码)

思路
 *         1.在方法中创建一个新的数组用来存储原数组的数据;
 *         2.将原数组利用冒泡排序进行排列(利用ArrayList集合也可以,调用sort()方法);
 *         3.遍历排序后的数组,通过==运算符进行比较新数组中的那个元素等于排序后的第二大数据;
 *         4.返回索引/下标;

具体细节见代码注释

public class Example110 {
	public static void main(String[] args) {
		// 创建一个int数组 静态创建
		int[] arr = { 22, 55, 4, 54, 67, 5 };

		// 调用方法
		int secminindex = Example110.getSecminindex(arr); // index
		// 输出结果
		System.out.println("数组中第二大的数的下标为:" + secminindex);

	}

	
	public static int getSecminindex(int[] arr) {
		// 1.创建一个新的数组用来存储原数组的数据;动态创建
		int[] newarr = new int[arr.length];

		// for循环遍历将原数组的数据赋值给新数组,以便将来进行比较
		for (int i = 0; i < arr.length; i++) {
			newarr[i] = arr[i]; // 遍历一个存储一个
		}

		// 冒泡排序进行对原数组进行排序
		for (int i = 0; i < arr.length - 1; i++) { // n个数据只用比较n-1次
			for (int j = 0; j < arr.length - 1 - i; j++) { // 每比较完一次就要少一个元素参与比较
				if (arr[j] > arr[j + 1]) { // 比较进行交换位置将大的排在后面小的排在前面
					int temp = arr[j]; // temp变量就相当于一个瓶子暂时存一哈
					arr[j] = arr[j + 1];
					arr[j + 1] = temp;
				}

			}
		}
		// for循环进行遍历新数组开始求出第二小的索引值
		// 定义一个变量接收索引的值
		int index = 0;
		for(int i = 0;i 

不要觉得注释多,注释只会让你每次刷题养成一个好的习惯,回顾起来也很方便。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/758880.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号