我一直在尝试做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