我正在寫一個簡單的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矩陣。