Re: [問題] 關於link list的題目

作者: ahabook (無聊的書)   2016-02-01 17:33:15
※ 引述《LoserOfLove (LOL)》之銘言:
: 附上題目截圖
: http://imgur.com/7P0TSnX
: 想請問第三小題,我一開始想到的解法如下:
: while (A->rlink != NULL) {
: A = A->rlink;
: delete A->llink;
: }
: delete A;
: A = NULL;
: 邏輯看似是對的,但實際執行時,發現被delete的記憶體空間並不會是NULL,而是亂數
: 所以當delete到最後一個節點時,此節點的rlink雖然已經被delete了,但不是NULL
: 導致A->rlink != NULL這個條件判斷變成無限迴圈
: 這題該怎麼解?不知道版上的朋友有沒有什麼建議?
我來試看看
A->llink->rlink =NULL;
if(A!=A->rlink)
{
A = A->rlink;
while(A!= NULL)
{
dletet A->llink;
if(A->rlink==NULL)
{
delete A;
A=NULL;
break;
}
A=A->rlink;
}
}
if(A)
{
delete A;
A=NULL;
}
作者: LoserOfLove (LOL)   2016-02-01 17:37:00
題目說只能用A指標耶...
作者: LPH66 (-6.2598534e+18f)   2016-02-01 19:10:00
這樣最後一個節點沒有被 delete其實這篇的第一行加到原 PO 的答案前面就行了
作者: LoserOfLove (LOL)   2016-02-01 21:20:00
樓上正解,謝謝你們幫忙~~

Links booklink

Contact Us: admin [ a t ] ucptt.com