我正在写一个简单的Java程序,它将输入一个文本文件,它将有一些数字表示一个(n×n)矩阵,其中数字用空格分隔。为前:存储和操作我的数据的最佳数据结构?
1 2 3 4
5 6 7 8
9 1 2 3
4 5 6 7
那么我想存储在数据结构中,我将使用该处理数据(其中将包括这些数字,比较adjecent数字和基于特定规则还删除某些号码 如果。一个号码被删除时,所有其它的号码它上面落下的空间量 对于上面的例子,如果说我删除8和9,那么结果将是:
() 2 3()
1 6 7 4
5 1 2 3
4 5 6 7
这样的数字落下在他们的专栏 最后,给出的矩阵将永远是方形的(所以阿尔瓦ys n x n,其中n将始终给出并始终为正数),因此,数据结构必须灵活以实际接受任何n值。
我最初是在一个2维数组中实现它,但如果有人想要一个更好的数据结构,我可以使用它来提高效率(我可以更快速地访问所有数据结构矩阵中的相邻数字(行和列) 最终,mu程序会根据规则自动检查相邻数字,删除数字,重新格式化矩阵并继续前进,最后我希望能够创建一个AI将从基质中的移动,尽可能最少量的除去尽可能多的数字作为可能的,任何NxN矩阵。