作者:迷失刀 | 来源:互联网 | 2023-09-25 19:52
稀疏数组(数据结构)场景需求:编写五子棋游戏中,有存盘和续上盘的功能。分析问题:因为该二维数组的很多值默认都是0,因此记录了很多没有意义的数据。解决:稀疏数组稀疏数组介绍当一个数组
稀疏数组(数据结构)
场景
- 分析问题:因为该二维数组的很多值默认都是0,因此记录了很多没有意义的数据。
- 解决:稀疏数组
稀疏数组介绍
//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+" ");
}
System.out.println();
}
System.out.println("===================");
//转换为稀疏数组保存
//1.获取有效值的个数
int sum=0;
for (int i = 0; i 输出结果
输出原始数组
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
狂神说java