分享至
請問反轉單向鏈結串列的元素,反轉後的結果亦為一單向鏈結串列。程式碼如下,是否有bug.Procedure Invert Cbeginif (C ≠ nil) thenbeginp = C→link;q = C;while (p ≠ c) dobeginr = q;q = p;p = p→link;q→link = r;end;C→link = q;C = q;end;end
已邀請的邦友 0/5
Procedure Invert C begin if (C ≠ nil) then begin trail,middle =nil; rear=C while (rear) do begin trail=middle; middle=rear; rear=rear->link middle->link=trail; end; end; end
我自己的秘訣是,每次迴圈只會改一個節點 所以專注在那個節點上面就好 可以畫圖輔助
感謝回應,我再試試看
stack用recusive會快很多
把你改好的貼上來