|
New Member
|
嗯,我還是不大了解你的目的。
linklist 在 insert 時才會配置一個 node 的記憶體,刪除一個 node 時就會
釋放一個 node 的記憶體了。他是動態的配置記憶體,並不是一開始就 alloc.
所以當使用 5 個 node 的 linklist 並不會佔到 10 node 的記憶體,所以不需
要特別去 realloc.
你的講法應該是比較偏向 Vector, 他會 alloc 一塊陣列,不夠時再去 alloc
另一塊陣列,來後用 linklist 串起來. 如果最後一塊陣列你填不滿,想換一個
比較省記憶體的小區塊來放,就另外 alloc 小陣列,把內容 copy 去,再 free
原來的最後一塊。
你偏愛的解決方案應該是 clone 吧,
currentNode=getHeadNodeA();
for (length of linklist A)
{
target=currentNode.getTarget();
insertToB(target);
currentNode=currentNode.getNext();
}
delete A;
然後 B 就是新的了,不需要去改地址。
|