這個可以用棧來實現,遍歷單鏈表,將數值存到棧上,遍歷完之後,再輸出棧中的資料
能用棧解決,就可以聯想到使用遞迴來解決了,每當訪問乙個結點,先遞迴輸出他後面的結點,然後再輸出本身,這樣鍊錶就反向輸出了。
//從尾到頭輸出結點說的值
#include
#include
#include
using
namespace
std;
typedef
struct
lnode
lnode,*linklist;
void
r_print(linklist l)
printf("%d
",l->data);
}int
main()
從尾到頭列印單鏈表
由於單鏈表只能從按單個方向訪問下乙個節點,而不能訪問前乙個節點。首先,解決這個問題肯定要遍歷鍊錶。遍歷的順序是從頭到尾的順序,可輸出的順序卻是從尾到頭。也就是說第乙個遍歷到的結點最後乙個輸出,而最後乙個遍歷到得結點第乙個輸出。這就是典型的 後進先出 可以用 棧實現這種順序。實現程式過程 每經過乙個結...
從尾到頭列印單鏈表
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...
從尾到頭列印單鏈表
可運用兩種方法列印 方法一 迴圈演算法 方法二 遞迴壓棧呼叫 方法一 先呼叫我們已經寫好的煉表頭檔案list.h鍊錶構造方面不過多說明。void printreverse listnode first 要列印的結點 printf d cur data end cur 1.通過cur next end...