java怎么将二维数组转化为稀疏数组
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容主要讲解"java怎么将二维数组转化为稀疏数组",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java怎么将二维数组转化为稀疏数组"吧!特点1、它可
千家信息网最后更新 2026年11月01日java怎么将二维数组转化为稀疏数组
本篇内容主要讲解"java怎么将二维数组转化为稀疏数组",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java怎么将二维数组转化为稀疏数组"吧!
特点
1、它可以压缩数据,减少内存空间的使用。
过程
2、记录数组元素的坐标和值。
3、稀疏数组有3列,分别是行、列、值,行数是原数组不同值的数加1;
array[0]记录一组行数和列数,以及不同值的数;
然后每行记录一个值在原数组的行列下标记和自己的值。
实例
public static void main(String[] args) { //创建一个原始的二维数组 //0:没有棋子,1:黑子,2:白子 int chessArr1[][] = new int[11][11]; //下面先固定二维数组的元素,后面可优化~ chessArr1[1][2] = 1; chessArr1[2][3] = 2; chessArr1[4][5] = 2; //输出原始的二维数组: System.out.println("原始的二维数组:"); printArray(chessArr1); //下面将二维数组转化为稀疏数组 //1.先遍历二维数组,得到非0数据的个数 int sum = 0; for (int i = 0; i < 11; i++) { for (int j = 0; j < 11; j++) { if (chessArr1[i][j] != 0) { sum++; } } } //2.创建对应的稀疏数组 int sparesArr[][] = new int[sum + 1][3]; //给稀疏数组赋值 sparesArr[0][0] = 11; sparesArr[0][1] = 11; sparesArr[0][2] = sum; //遍历二维数组,将非0的值存放在sparesArr中 int count = 0;//count 用于记录是第几个非0数据 for (int i = 0; i < 11; i++) { for (int j = 0; j < 11; j++) { if (chessArr1[i][j] != 0) { count++; sparesArr[count][0] = i; sparesArr[count][1] = j; sparesArr[count][2] = chessArr1[i][j]; } } } //输出稀疏数组的形式 System.out.println(); System.out.println("得到的稀疏数组为:"); printArray(sparesArr); System.out.println(); //下面将稀疏数组恢复成二维数组 //先读取稀疏数组的第一行元素,根据其数据,创建原始的二维数组 int chessArr2[][] = new int[sparesArr[0][0]][sparesArr[0][1]]; //读取稀疏数组后几行的元素(从第二行开始),并赋值给原始的二维数组即可 for (int i = 1; i < sparesArr.length; i++) { chessArr2[sparesArr[i][0]][sparesArr[i][1]] = sparesArr[i][2]; } //输出恢复后的二维数组 System.out.println(); System.out.println("恢复后的二维数组"); printArray(chessArr2);} //打印数组public static void printArray(int[][] array) { for (int i = 0; i < array.length; i++) { for (int j = 0; j < array[0].length; j++) { System.out.printf("%d\t", array[i][j]); } System.out.println(); }}到此,相信大家对"java怎么将二维数组转化为稀疏数组"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
数组
二维
稀疏
原始
元素
数据
j++
输出
不同
内容
学习
实用
更深
一行
下标
个数
兴趣
内存
坐标
实例
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网黑科技
互联网科技保险
A股互联网金融科技公司
互联网通讯科技
互联网下的科技发展
互联网科技战争
华宇互联网科技
美国互联网科技
丰台科技园 互联网
金融科技和互联网金融
丰台科技园 互联网公司
老年人脱离互联网科技的作文
黑科技闪耀互联网之光
互联网行业科技股
互联网科技大赛获奖感言
江苏苏星互联网科技有限公司
产业互联网科技服务公司
互联网科技快讯热点
互联网科技手机排行榜
互联网科技的前景
喔噻互联网科技有限公司
广东猪兼强互联网科技有限公司
西安纸贵互联网科技有限公司
科技互联网企业
上游互联网科技
互联网金融科技委员会
新兴科技互联网创新大赛颁奖典礼
四川互联网展示科技馆设计
宇信科技在杭州互联网排第几
广州燕处互联网科技有限公司