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

学校官方网站网页设计深圳住房建设网站

学校官方网站网页设计,深圳住房建设网站,wordpress 添加原文链接,网站临时域名一、稀疏 sparsearray 数组 1、先看一个实际的需求 编写的五子棋程序中,有存盘退出和续上盘的功能。 分析问题: 因为该二维数组的很多值是默认值 0, 因此记录了很多没有意义的数据.->稀疏数组。 2、稀疏数组基本介绍 当一个数组中大部分元素为0…

一、稀疏 sparsearray 数组

1、先看一个实际的需求

  • 编写的五子棋程序中,有存盘退出和续上盘的功能。

  • 分析问题:

因为该二维数组的很多值是默认值 0,  因此记录了很多没有意义的数据.->稀疏数组

2、稀疏数组基本介绍

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

组的处理方法是:

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

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

3、稀疏数组举例说明

二、应用实例

  1. 使用稀疏数组,来保留类似前面的二维数组(棋盘、地图等等)
  2. 把稀疏数组存盘,并且可以从新恢复原来的二维数组数
  3. 整体思路分析

​​​​​

三、代码实现

package com.atguigu.sparsearray;public class SparseArray {public static void main(String[] args) {// 创建一个原始的二维数组 11 * 11// 0: 表示没有棋子, 1 表示 黑子 2 表蓝子int chessArr1[][] = new int[11][11];chessArr1[1][2] = 1;chessArr1[2][3] = 2;chessArr1[4][5] = 2;// 输出原始的二维数组System.out.println("原始的二维数组~~");for (int[] row : chessArr1) {for (int data : row) {System.out.printf("%d\t", data);}System.out.println();}// 将二维数组 转 稀疏数组的思// 1. 先遍历二维数组 得到非0数据的个数int sum = 0;for (int i = 0; i < 11; i++) {for (int j = 0; j < 11; j++) {if (chessArr1[i][j] != 0) {sum++;}}}// 2. 创建对应的稀疏数组int sparseArr[][] = new int[sum + 1][3];// 给稀疏数组赋值sparseArr[0][0] = 11;sparseArr[0][1] = 11;sparseArr[0][2] = sum;// 遍历二维数组,将非0的值存放到 sparseArr中int count = 0; //count 用于记录是第几个非0数据for (int i = 0; i < 11; i++) {for (int j = 0; j < 11; j++) {if (chessArr1[i][j] != 0) {count++;sparseArr[count][0] = i;sparseArr[count][1] = j;sparseArr[count][2] = chessArr1[i][j];}}}// 输出稀疏数组的形式System.out.println();System.out.println("得到稀疏数组为~~~~");for (int i = 0; i < sparseArr.length; i++) {System.out.printf("%d\t%d\t%d\t\n", sparseArr[i][0], sparseArr[i][1], sparseArr[i][2]);}System.out.println();//将稀疏数组 --》 恢复成 原始的二维数组/**  1. 先读取稀疏数组的第一行,根据第一行的数据,创建原始的二维数组,比如上面的  chessArr2 = int [11][11]2. 在读取稀疏数组后几行的数据,并赋给 原始的二维数组 即可.*///1. 先读取稀疏数组的第一行,根据第一行的数据,创建原始的二维数组int chessArr2[][] = new int[sparseArr[0][0]][sparseArr[0][1]];//2. 在读取稀疏数组后几行的数据(从第二行开始),并赋给 原始的二维数组 即可for(int i = 1; i < sparseArr.length; i++) {chessArr2[sparseArr[i][0]][sparseArr[i][1]] = sparseArr[i][2];}// 输出恢复后的二维数组System.out.println();System.out.println("恢复后的二维数组");for (int[] row : chessArr2) {for (int data : row) {System.out.printf("%d\t", data);}System.out.println();}}}

 喜欢的话点个关注吧!

http://www.yayakq.cn/news/579644/

相关文章:

  • 玛迪做网站网页制作简单教程
  • 上海网站建设的价格是多少钱中国最大的电商平台是哪家
  • 部队网站制作专业的单位网站开发开发
  • 哪个网站可以做电视背景墙企业网站 合同
  • iis 子网站福州关键词搜索排名
  • 大棚建设的网站网络策划
  • 深圳建设企业网站公司给公司做网站多少钱
  • 重庆网站建设公司的网站怎样能有个人网站
  • 网站开发技术项目式教程淘宝开店铺网站怎么做
  • 江宁区建设工程局网站进不去湖州 网站建设公司
  • 网站的登录功能一般是用cookie做的seo关键字优化价格
  • 建材公司网站建设方案优秀室内设计案例
  • 广州专业做网站公司网站被主流搜索引擎收录的网页数量
  • 阿里云网站郑州网站建设+论坛
  • 个人工作室网站模板网站推广内容
  • 博客系统做网站手机上如何制作app
  • 湛江免费建站哪里有猪八戒网仿照哪个网站做的
  • 全国兼职网站建设wordpress七牛云缓存插件
  • 做窗帘的网站高端网站建设公司服务好吗
  • 做汽车的网站编辑为什么wordpress不能更新文章
  • 品牌网站建设策wordpress导入菜单
  • 做任务免费得晋江币网站免费行情app
  • app网站建设公司资阳市网站建设
  • 成都建设银行分行招聘网站潮州营销型网站建设推广
  • 海口网站排名提升商城网站的seo优化改怎么做
  • php网站开发实例教程 源码网站服务器的重要性
  • 建外做网站的公司传奇游戏网站
  • 成都seo网站建设wordpress 外链 图片
  • 化妆品网站建设方案响水网站设计
  • 天水网站建设公司seo移动端排名优化