稀疏数组出现原因(实例)
例如打印五子棋盘的时候,会出现许多没有棋子的位置,我们通常用二维数组中数字0来占位。这样记录了许多没有意义的数据,所以稀疏数组的出现解决了这一问题
稀疏数组处理方法
(1)记录数组有几行几列,有多少个不同的值
(2)把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模。
稀疏数组实战
二维转稀疏
(1)遍历原始二维数组,得到有效数据个数sum
(2)根据sum创建稀疏数组sparseArr int [sum+1][3]
(3)将二维数组的有效数据存入到稀疏数组中
稀疏转二维
(1)先读取稀疏数组第一行,根据第一行数据创建原始二维数组
(2)在读取稀疏数组后几行,将数据赋给原始二维数组
代码
结果