我一直在嘗試做2維數組的深拷貝,但從來沒有成功。 這是我的代碼。深拷貝2維數組
class node {
public node head;
public node left;
public node right;
public node up;
public node down;
}
node[][] OriginalArrayOfNode = new node[100][200];
//filling original node
for (int n = 0; n < 200; n++) {
for(int m = 0; m < 100; m++) {
OriginalArrayOfNode[m][n].head = OriginalArrayOfNode[m][0];
OriginalArrayOfNode[m][n].left = ...
//etc
}
}
node[][]CopyArrayOfNode = new node[100][200];
//The code to copy the original array to new array should be here.
我的問題是我怎樣才能將我的OriginalArrayOfNode深拷貝到CopyArrayOfNode? 在此先感謝。
編輯:
我試着使循環雙向鏈表的副本,其中4個指針Knuth的舞蹈鏈接算法。追蹤問題的位置很難,但我假設原始數組由於Knuth的DL算法而給出「x」,那麼原始數組的正確深度副本也會給出「x」作爲結果,前提是沒有其他變量變化並且沒有隨機修飾符。但是,我嘗試過clone()方法,arrayutil.copy()方法,並且它們都沒有根據我上面的假設給出「正確的」深層副本。
你有什麼問題嗎?你有什麼嘗試?你卡在哪裏? – user1118321 2012-08-09 03:42:30
我無法複製我的2維數組。我試過克隆(),但它沒有奏效。 – JrL 2012-08-09 03:55:10
我知道您在複製2維數組時遇到問題。你有什麼麻煩複制它?你嘗試了什麼不起作用?你在哪裏堅持複製?你需要更具體,否則很難提供幫助。 – user1118321 2012-08-09 03:59:03