可運用兩種方法列印:
方法一:迴圈演算法
方法二:遞迴壓棧呼叫
方法一:
先呼叫我們已經寫好的煉表頭檔案list.h鍊錶構造方面不過多說明。
void printreverse(listnode *first)
// 要列印的結點
printf("%d ", cur->data);
end = cur;
}}
1.通過cur->next !=end迴圈語句,當為空時,我們退出迴圈。並且輸出最後的結構體單元。
2.通過給*end孔結構體賦值最後的cur的實現從尾到頭輸出。
方法二:
void printreverserecursion(listnode *first)
else
}
我們通過遞迴壓棧,實現函式體與函式語句之間的迴圈,最後列印最後端取出元素依次列印結果。 從尾到頭列印單鏈表
由於單鏈表只能從按單個方向訪問下乙個節點,而不能訪問前乙個節點。首先,解決這個問題肯定要遍歷鍊錶。遍歷的順序是從頭到尾的順序,可輸出的順序卻是從尾到頭。也就是說第乙個遍歷到的結點最後乙個輸出,而最後乙個遍歷到得結點第乙個輸出。這就是典型的 後進先出 可以用 棧實現這種順序。實現程式過程 每經過乙個結...
從尾到頭列印單鏈表
include using namespace std include includetypedef struct node 節點結構 node node create 尾插法建立單鏈表 else q p p node malloc sizeof node p next null if flag 0...
從尾到頭列印單鏈表
思路 1 上面的題的要求就是逆序列印單鏈表 2 方式1 先將單鏈表進行反轉操作,然後再遍歷即可,這樣的做法的問題是會破壞原來的單鏈表的結構,不建議 3 方式2 可以利用棧這個資料結構,將各個節點壓入到棧中,然後利用棧的先進後出的特點,就實現了逆序列印的效果 public static void re...