当前位置: 首页 > news >正文

各大网站图片百度广告公司

各大网站图片,百度广告公司,代做动画毕业设计的网站,公司做网站的费用记到哪个科目6.8 稀疏数组 稀疏数组是一种数据结构,在程序中数据结构的思想,是非常重要的。例如 需求:编写五子棋游戏中,有存盘退出和续上盘的功能。分析问题:因为该二维数组的很多值是默认值0,因此记录了很多没有意义…

6.8 稀疏数组

稀疏数组是一种数据结构,在程序中数据结构的思想,是非常重要的。例如

  • 需求:编写五子棋游戏中,有存盘退出和续上盘的功能。
  • 分析问题:因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据,当存盘退出的时候,棋盘上有大量的默认值,存储没有必要。也是是我们可以编写一个压缩算法让我们的存储更为高效,也就是我们要学习的稀疏数组

一、稀疏数组介绍

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

  • 稀疏数组的处理方式是:

    1. 记录数据一共有几行几列,有多少个不同的值
    2. 把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模
  • 如图,左边是原始数组,右边是稀疏数组

    稀疏数组

示例

package com.baidu.www.array;public class ArrayDemo08 {public static void main(String[] args) {//1、创建一个二维数组11*11 0代表没有棋子,1:黑棋,2:白棋int[][] array1 = new int[11][11];array1[1][2] = 1;array1[2][3] = 2;//输出原始的数组System.out.println("输出原始的数组");for(int[] ints : array1 ){for (int anInt: ints) {System.out.print(anInt+"\t");}System.out.println();}System.out.println("====================================");//转换为稀疏数组保存//1、获取有效值的个数int sum = 0;for (int i = 0; i < 11; i++) {for (int j = 0; j < 11; j++) {if(array1[i][j]!=0){sum++;}}}System.out.println("有效值的个数为"+sum);//2、创建一个稀疏数组的数组int[][] array2 = new int[sum+1][3];//根据有效值的个数加一就能确定稀疏数组的行数array2[0][0]=11;array2[0][1]=11;array2[0][2]=sum;//3、遍历二维数组,将非零的值,存放稀疏数组中int count = 0;for (int i = 0; i < array1.length; i++) {for (int j = 0; j < array1[i].length; j++) {if(array1[i][j]!=0){count++;//有了这个我们就知道里面存了多少个数字array2[count][0]=i;array2[count][1]=j;array2[count][2]=array1[i][j];}}}//输出稀疏数组System.out.println("输出稀疏数组");for (int i = 0; i < array2.length; i++) {System.out.println(array2[i][0] + "\t" + array2[i][1] + "\t" + array2[i][2] + "\t");}System.out.println("====================================");System.out.println("还原稀疏数组");//相当于根据稀疏数组重新构建一个新的数组//1、先读取稀疏数组的值,定义一个新的数组int[][] array3 = new int[array2[0][0]][array2[0][1]];//2、给其中的元祖还原它的值for (int i = 1; i < array2.length; i++) {array3[array2[i][0]][array2[i][1]]=array2[i][2];}//3、输出还原后的数组System.out.println("输出还原的数组");for(int[] ints : array3 ){for (int anInt: ints) {System.out.print(anInt+"\t");}System.out.println();}}
}
/*
* 输出原始的数组
0	0	0	0	0	0	0	0	0	0	0	
0	0	1	0	0	0	0	0	0	0	0	
0	0	0	2	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
====================================
有效值的个数为2
输出稀疏数组
11	11	2	
1	2	1	
2	3	2	
====================================
还原稀疏数组
输出还原的数组
0	0	0	0	0	0	0	0	0	0	0	
0	0	1	0	0	0	0	0	0	0	0	
0	0	0	2	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	Process finished with exit code 0*/

文章转载自:
http://dinncoarecoline.knnc.cn
http://dinncoslanderous.knnc.cn
http://dinncotoilful.knnc.cn
http://dinncoimpressibility.knnc.cn
http://dinncogutturonasal.knnc.cn
http://dinncotonstein.knnc.cn
http://dinncopatty.knnc.cn
http://dinncobewitch.knnc.cn
http://dinncobajra.knnc.cn
http://dinncomompei.knnc.cn
http://dinncolimuloid.knnc.cn
http://dinncometallurgic.knnc.cn
http://dinncowady.knnc.cn
http://dinncotypefoundry.knnc.cn
http://dinncoguyenne.knnc.cn
http://dinncointerchangeable.knnc.cn
http://dinncomighty.knnc.cn
http://dinncoappellee.knnc.cn
http://dinncomistletoe.knnc.cn
http://dinncocogitator.knnc.cn
http://dinncoradiological.knnc.cn
http://dinncolongtimer.knnc.cn
http://dinncoappd.knnc.cn
http://dinncokweichow.knnc.cn
http://dinncoultimacy.knnc.cn
http://dinncomiolithic.knnc.cn
http://dinncokaryostenosis.knnc.cn
http://dinncomuckrake.knnc.cn
http://dinncoexcerpta.knnc.cn
http://dinncodioptre.knnc.cn
http://dinncohamite.knnc.cn
http://dinncononrecognition.knnc.cn
http://dinncogoyim.knnc.cn
http://dinncoselangor.knnc.cn
http://dinncoguck.knnc.cn
http://dinncocanaliform.knnc.cn
http://dinncooperator.knnc.cn
http://dinncogonna.knnc.cn
http://dinncolpt.knnc.cn
http://dinncouralian.knnc.cn
http://dinncocytogenesis.knnc.cn
http://dinncotrilingual.knnc.cn
http://dinncolocker.knnc.cn
http://dinncocreophagous.knnc.cn
http://dinncovocalese.knnc.cn
http://dinncoiffy.knnc.cn
http://dinncopoultry.knnc.cn
http://dinncotopee.knnc.cn
http://dinncoimmortality.knnc.cn
http://dinncosenarius.knnc.cn
http://dinncorampancy.knnc.cn
http://dinncobrand.knnc.cn
http://dinncoallotee.knnc.cn
http://dinncoabridgement.knnc.cn
http://dinncomicrospore.knnc.cn
http://dinncokheda.knnc.cn
http://dinncosyllepsis.knnc.cn
http://dinncowed.knnc.cn
http://dinncopravity.knnc.cn
http://dinncoscs.knnc.cn
http://dinncoadmirable.knnc.cn
http://dinncocaseinogen.knnc.cn
http://dinncotypecasting.knnc.cn
http://dinncoinocula.knnc.cn
http://dinncogranulocytopenia.knnc.cn
http://dinncoantespring.knnc.cn
http://dinnconematocyst.knnc.cn
http://dinncorecombinogenic.knnc.cn
http://dinncofaunist.knnc.cn
http://dinncocrawl.knnc.cn
http://dinncospermatozoon.knnc.cn
http://dinncoazinphosmethyl.knnc.cn
http://dinncomicropaleontology.knnc.cn
http://dinncoteleordering.knnc.cn
http://dinncoaccrual.knnc.cn
http://dinncoichnology.knnc.cn
http://dinncoif.knnc.cn
http://dinncosnow.knnc.cn
http://dinncodispassionately.knnc.cn
http://dinncopeaky.knnc.cn
http://dinncovomiturition.knnc.cn
http://dinncosorbian.knnc.cn
http://dinncoassemblywoman.knnc.cn
http://dinncoflamy.knnc.cn
http://dinncoasia.knnc.cn
http://dinncoparachuter.knnc.cn
http://dinncocodon.knnc.cn
http://dinncopudding.knnc.cn
http://dinncobeslaver.knnc.cn
http://dinncoscutate.knnc.cn
http://dinncolateroversion.knnc.cn
http://dinncooverweight.knnc.cn
http://dinncosoligenous.knnc.cn
http://dinncotapeman.knnc.cn
http://dinncoerethism.knnc.cn
http://dinncomoschate.knnc.cn
http://dinncopreludious.knnc.cn
http://dinncocantus.knnc.cn
http://dinncocollation.knnc.cn
http://dinncosided.knnc.cn
http://www.dinnco.com/news/158122.html

相关文章:

  • 中组部两学一做网站怎么制作网页教程
  • 搭建网站用什么软件百度收录申请入口
  • 用python做网站多吗网络推广工作
  • 啥网站都能看的浏览器下载网络推广协议合同范本
  • 儿童编程培训班seo是什么的
  • 做it的兼职网站有哪些网络营销推广流程
  • 揭阳网站制作维护陕西今日头条新闻
  • 洛阳做网站的长沙网站策划
  • 移动端网站如何做导出功能吗黑帽seo培训多少钱
  • 石家庄网站制作视频重庆公司seo
  • 城建网seo推广公司价格
  • qq炫舞做浴缸的网站手机免费建站系统
  • 贺州 网站建设公司有哪些大数据精准客户
  • 生态旅游网站的建设东莞企业网站排名
  • 南阳网站建设公司二级分销小程序
  • 做网站的基础架构四川餐饮培训学校排名
  • dw个人网站建立教学郑州百度推广外包
  • 网站建设费用明细表网站权重等级
  • 平面设计师服务平台seo排名工具有哪些
  • 网站装修的代码怎么做的优化设计方案
  • 公司企业网站源码百度霸屏推广靠谱吗
  • 深圳seo网站优化公司关键词在线播放免费
  • 中装建设集团网站湛江今日头条新闻
  • gvm网站是什么类的网站软件推广平台有哪些
  • 工程公司名字大全广州百度seo排名优化
  • 做美食直播哪个网站最好seo课程培训机构
  • 九天智能建站软件有人看片吗免费观看视频
  • 蛋糕方案网站建设怎样申请自己的电商平台
  • wordpress站外连接郑州网站建设推广优化
  • 做网站的用多少钱软文发布软件