Java数据结构---稀疏数组

技术Java数据结构---稀疏数组 Java数据结构---稀疏数组稀疏数值的基础概念(图示)◆当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组。◆稀疏数组的处理方式是:◆记

爪哇数据结构-稀疏数组

稀疏数值的基础概念(图示)

当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组。

稀疏数组的处理方式是:

记录数组一共有几行几列,有多少个不同值

把具有不同值的元素和行列及值记录在-个小规模的数组中,从而缩小程序的规模

如上图:上边是原始数组,下边是稀疏数组

公共静态void main(String[]参数){ 0

//建立一个原始二维数组

int[][]数组1=new int[11][11];

数组1[1][2]=1;

数组1[2][3]=5;

数组1[3][4]=9;

for(int I=0;IAR射线1。长度-1;I){ 0

for(int j=0;贾雷1号。长度-1;j ){

系统。出去。print(数组1[I][j]' \ t ');

}

系统。出去。println();

}

系统。出去。println('=========================================================' '

'====================================');

//判断有多少个有效数值

int sum=0;

for(int I=0;IAR射线1。长度-1;I){ 0

for(int j=0;贾雷1号。长度-1;j ){

if(array1[i][j]!=0){

总和;

}

}

}

System.out.println('有效数值有总和个');

//建立一个稀疏数组

int[][]数组2=new int[sum 1][3];

数组2[0][0]=11;

数组2[0][1]=11;

数组2[0][2]=sum;

//计数记数

int count=0;

for(int I=0;IAR射线1。长度;I){ 0

for(int j=0;jarray1[i].长度;j ){

if(array1[i][j]!=0){

计数;

//数组2[计数][0]横坐标=i

//数组2[计数][1]纵坐标=j

//数组2[计数][2]值=array1[i][j]

数组2[计数][0]=I;

数组2[计数][1]=j;

数组2[计数][2]=数组1[I][j];

}

}

}

for(int x[

for(int x : x){ 0

系统。出去。打印(IntX ' \ t ');

}

系统。出去。println();

}

系统。出去。println('=========================================================' '

'====================================');

//还原稀疏数组

//建立一个二维数组

int[][]数组3=new int[数组2[0][0]][数组2[0][1]];

for(int I=1;IAR射线2。长度;I){ 0

//array3[array2的横坐标][array2的纵坐标]=array2[i][2]

数组3[数组2[I][0]][数组2[I][1]]=数组2[I][2];

}

for(int x[

for(int x : x){ 0

系统。出去。打印(IntX ' \ t ');

}

系统。出去。println();

}

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/116866.html

(0)

相关推荐

  • 怎样结合Jexus+Kestrel 部署asp.net core生产环境

    技术怎样结合Jexus+Kestrel 部署asp.net core生产环境本篇文章为大家展示了怎样结合Jexus+Kestrel 部署asp.net core生产环境,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过

    攻略 2021年11月19日
  • php怎样把utf8转换为gbk(phputf8转gbk)

    技术php中gbk转utf8用哪个函数这篇文章主要介绍php中gbk转utf8用哪个函数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 在php中可以通过iconv函数

    攻略 2021年12月15日
  • 霸王龙和其他食肉恐龙,阿根延龙和霸王龙谁厉害

    技术霸王龙和其他食肉恐龙,阿根延龙和霸王龙谁厉害题主说的应该是阿根廷龙和霸王龙谁更厉害吧霸王龙和其他食肉恐龙?虽然两种动物都是恐龙,但是它们生活的时代却差了两千多万年。那要想知道两个不是同时期的恐龙究竟谁更厉害?我们只能

    生活 2021年10月26日
  • 夕阳余晖啥意思是什么,落日余晖,残阳晚霞是什么意思

    技术夕阳余晖啥意思是什么,落日余晖,残阳晚霞是什么意思这句话的意思是傍晚的时候,落日的余晖倒映着晚霞夕阳余晖啥意思是什么。出自当代诗家张小红的《浣溪沙·寄夫》:落日余晖映彩霞,绵绵心事向天涯。相思飞过老篱笆。烦闷休贪杯里

    生活 2021年10月28日
  • 12.16 Java继承

    技术12.16 Java继承 12.16 Java继承首先 :继承,指一个对象直接使用另一对象的属性和方法。继承的格式:public class 子类名 entends 父类名{} /* 表示前面的

    礼包 2021年12月17日
  • d13-接口和内部类

    技术d13-接口和内部类 d13-接口和内部类## 1.接口
    ### 1.1黑马信息管理系统集合改进 (应用)
    + 使用数组容器的弊端1. 容器长度是固定的,不能根据添加功能自动增长 2. 没有提供用

    礼包 2021年11月22日