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)

相关推荐

  • MySQL中MERGE表的优缺点有哪些

    技术MySQL中MERGE表的优缺点有哪些这篇文章将为大家详细讲解有关MySQL中MERGE表的优缺点有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MERGE表的优点:1.简单管

    攻略 2021年11月1日
  • Spring Cloud Alibaba Nacos Config实例教程

    技术Spring Cloud Alibaba Nacos Config实例教程这篇文章主要讲解了“Spring Cloud Alibaba Nacos Config实例教程”,文中的讲解内容简单清晰,易于学习与理解,下面

    攻略 2021年11月15日
  • 怎样解读Java Spring AOP

    技术怎样解读Java Spring AOP本篇文章为大家展示了怎样解读Java Spring AOP,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、对AOP的初印象首先先给出一

    攻略 2021年12月3日
  • Linux中系统命令有哪些

    技术Linux中系统命令有哪些小编给大家分享一下Linux中系统命令有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!ps查看系统中进程状态

    攻略 2021年11月20日
  • Sharp爬虫程序配置代理ip的示例分析

    技术Sharp爬虫程序配置代理ip的示例分析这期内容当中小编将会给大家带来有关Sharp爬虫程序配置代理ip的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 // 要访问的目

    攻略 2021年10月28日
  • Web开发者易犯的严重错误有哪些

    技术Web开发者易犯的严重错误有哪些小编给大家分享一下Web开发者易犯的严重错误有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. “

    攻略 2021年11月6日