1:使用场景
下棋,一个棋盘更多的位置是没有棋子的,在保存进度文档的时候,如果棋盘的所有元素都保存,则占用空间大。(棋盘类似二维数组)
2:作用
压缩,将大的二维数组压缩成小的二维数组。(只保存了有效元素的二维数组)
3:实现思路
3.1 新的二维稀疏数组大小
(有效元素个数+1)*3
3.2 获取原棋盘:长度、行数、有效元素个数
将此信息存储到新的二维稀疏数组第一行,便于读档时还原
3.3 存储位置对照
稀疏数组第一列: 原二维数组有效元素 行号
稀疏数组第二列: 原二维数组有效元素 列号
稀疏数组第三列: 原二维数组有效元素 值
3.4 循环保存
4 代码
5 稀疏数组还原