Re: [問題] 請教反轉串列
※ 引述《WindSkyBlue ( )》之銘言:
: 題目如圖http://ppt.cc/Y_2D
: 看不太懂他的return concatenate(reverse(tail),head)
: 代表的意思,以下是我的寫法,感覺錯很大
: listnode concatenate(listnode *point,listnode *back)
: {
: listnode forward; //用來指point的下一個node
: forward = point.link; //先指到tail的下一個node
: point.link = back; //開始反轉
: back = point;
: point = forward;
: return point; //回傳point回reverse
: }
: 還麻煩大大指點一番,謝謝
題目是用遞迴做reverse,
可以想像成把火車箱從前面一節一節切開,
切到沒得切再從後面一節一節反接回來.
listnode concatenate( listnode list_a, listnode list_b )
{
if ( list_a == null )
return list_b ;
listnode temp = list_a ;
while ( temp.link != null )
temp = temp.link ;
temp.link = list_b ;
return list_a ;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.34.80.4
推
04/16 18:16, , 1F
04/16 18:16, 1F
→
04/16 18:16, , 2F
04/16 18:16, 2F
推
04/16 21:17, , 3F
04/16 21:17, 3F
→
04/16 21:17, , 4F
04/16 21:17, 4F
→
04/16 21:18, , 5F
04/16 21:18, 5F
討論串 (同標題文章)