[問題] linked list的 copy constructor
看板C_and_CPP (C/C++)作者FableKevinS (FableKevinS)時間14年前 (2012/01/02 22:09)推噓0(0推 0噓 6→)留言6則, 3人參與討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
c++
問題(Question):
無法正確deep copy double linked list
以下是我的演算法:
class Node{
Node *next;
int item;
};
class Queue{
Node *initial, *last;
}
//copy constructor
Queue(const Queue& in){
Node *temp; //創造第一個新節點
temp=new Node;
temp->item=in.initial->item;
temp->next=NULL;
initial=temp; //將initial放到新節點上
Node *temp2;
temp2=NULL;
int k=1;
while(last){
initial->next=new Node; //創造下一個新節點
if(k==1){
temp2= initial->next; //將第二個新節點存起來
k++; //最後給initial->next
}
initial=initial->next; //將initial推至下一個新節點
initial->item=last->item;
last=last->next; //last推至下一個原節點
}
initial->next=NULL; //將最後一個新節點的指標設為0
last=initial; //將last放到最後一個新節點
//將initial設為第一個新節點
initial=temp; //第二個新節點
initial->next=temp2; //
}
這樣下去跑會crash 麻煩幫我看一下謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.241.250
※ 編輯: FableKevinS 來自: 140.112.241.250 (01/02 22:12)
※ 編輯: FableKevinS 來自: 140.112.241.250 (01/02 22:27)
→
01/02 23:23, , 1F
01/02 23:23, 1F
→
01/02 23:30, , 2F
01/02 23:30, 2F
→
01/02 23:30, , 3F
01/02 23:30, 3F
→
01/02 23:31, , 4F
01/02 23:31, 4F
→
01/02 23:32, , 5F
01/02 23:32, 5F
→
01/02 23:40, , 6F
01/02 23:40, 6F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章