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)

相关推荐

  • 什么是计算机操作系统

    技术什么是计算机操作系统这篇文章主要介绍“什么是计算机操作系统”,在日常操作中,相信很多人在什么是计算机操作系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是计算机操作系统”的疑惑有

    攻略 2021年11月9日
  • Ajax和WebSpherePortal设计有哪些注意事项

    技术Ajax和WebSpherePortal设计有哪些注意事项本篇内容介绍了“Ajax和WebSpherePortal设计有哪些注意事项”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大

    攻略 2021年11月14日
  • Pandas数据分析实用小技巧有哪些

    技术Pandas数据分析实用小技巧有哪些这篇文章给大家分享的是有关Pandas数据分析实用小技巧有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。小技巧1:如何使用map对某些列做特征工程?

    2021年11月30日
  • Java Servlet时遇到的小问题是怎样的

    技术Java Servlet时遇到的小问题是怎样的今天就跟大家聊聊有关Java Servlet时遇到的小问题是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

    攻略 2021年11月20日
  • springsecurity权限控制(springboot权限控制框架)

    技术SpringBoot2 整合SpringSecurity框架是怎么实现用户权限安全管理这篇文章给大家介绍SpringBoot2 整合SpringSecurity框架是怎么实现用户权限安全管理,内容非常详细,感兴趣的小

    攻略 2021年12月18日
  • 考研复试什么时候,一般什么时候会公布考研复试线

    技术考研复试什么时候,一般什么时候会公布考研复试线2021年考研复试线的公布日期2021年研究生考试已经于2020年12月26~28日结束,目前全国各院校的初试成绩已经可以查询,成绩出来后可谓几家欢喜几家愁,各位考生对于

    生活 2021年10月24日