java生成稀疏数组与还原
2021/11/18 1:10:05
本文主要是介绍java生成稀疏数组与还原,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
主函数
public static void main(String[] args) { //稀疏数组 //行 列 有效个数 //行 列 数据 int [][] array1=new int[11][11]; array1[1][2]=1; array1[2][3]=2; array1[1][3]=1; array1[2][4]=2; System.out.println("原型"); arrays(array1); int[][] array2 = arraysX(array1); System.out.println("处理后的稀疏数组"); arrays(array2); System.out.println("还原"); int[][] array3 = arraysH(array2); arrays(array3); }
生成稀疏数组
//生成稀疏数组 public static int[][] arraysX(int[][] array) { //先得到有效个数 int number=0; for (int [] arrays: array) { for (int num:arrays) { if (num!=0) number++; } } //初始化稀疏数组 int [][] arrayX=new int[number+1][3]; //行 arrayX[0][0]=array.length; //列 arrayX[0][1]=array[0].length; //有效数据个数 arrayX[0][2]=number; //初始化行 int num=1; for (int i = 0; i <array.length ; i++) { for (int j = 0; j <array[i].length ; j++) { if(array[i][j]!=0) { arrayX[num][0]=i; arrayX[num][1]=j; arrayX[num][2]=array[i][j]; num++; } } } return arrayX; }
还原稀疏数组
//还原 public static int [][] arraysH(int[][] array) { //初始化 行 列 int [][] arrayY=new int[array[0][0]][array[0][1]]; //循环 有效数据 for (int i=1;i<=array[0][2];i++) { //在指定 行 列 装填数据 arrayY[array[i][0]][array[i][1]]=array[i][2]; } return arrayY; }
输出
//输出数组 public static void arrays(int[][] array) { for (int i = 0; i <array.length ; i++) { for (int j = 0; j <array[i].length ; j++) { System.out.print(array[i][j]+"\t"); } System.out.println(); } }
这篇关于java生成稀疏数组与还原的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)