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)

相关推荐

  • 如何进行Sqlserver数据写入表的测试

    技术如何进行Sqlserver数据写入表的测试如何进行Sqlserver数据写入表的测试,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、创

    攻略 2021年11月29日
  • k8s运维06-kubectl delete node的过程是怎么样的

    技术k8s运维06-kubectl delete node的过程是怎么样的这期内容当中小编将会给大家带来有关k8s运维06-kubectl delete node的过程是怎么样的,文章内容丰富且以专业的角度为大家分析和叙

    攻略 2021年10月20日
  • 头顶出汗是怎么回事,头部汗如雨下是怎么回事

    技术头顶出汗是怎么回事,头部汗如雨下是怎么回事头部汗如雨下是怎么回事头部大量出汗的原因分为生理性和病理性两个方面。生理性出汗与身体内外温度头顶出汗是怎么回事、精神因素和饮食有关;病理性出汗常见于甲亢、钙和维生素D缺乏、嗜

    生活 2021年11月1日
  • wordpress使用美国云服务器/美国VPS的优点

    技术wordpress使用美国云服务器/美国VPS的优点相比其他类型的CMS系统,开源免费的wordpress显然对于新手站长而言是最简单、最具性价比的如果您在WordPress网站中使用美国云服务器,则与虚拟空间相比,

    礼包 2021年11月17日
  • java semaphore 是什么(javasemaphore信号怎么样)

    技术如何解析Java中的Semaphore信号量本篇文章为大家展示了如何解析Java中的Semaphore信号量,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Semaphore

    攻略 2021年12月20日
  • 聚焦近义词,“盯着”的近义词是什么

    技术聚焦近义词,“盯着”的近义词是什么见、视、瞧、瞥、瞄、目、相、窥、探、扫、白、瞪、望、盼、眺、睇、睨。“看”的口语化俗语,普通话有“瞧”、“瞅”等,粤语则是“睇”。“睇”字在香港随处听到,用的频率比“看”多百倍!其实

    生活 2021年10月30日