從尾到頭列印單鏈表

2021-08-24 17:41:33 字數 546 閱讀 6470

#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) //說明乙個節點也沒有

return null;

free(p);

p=null;

q->next=null;

return head;

}void reverse(node *head) //迴圈實現

while(!nodes.empty()) }

void reverse(node *head) //遞迴實現

cout//功能測試: 由使用者自己手動收入數字 以非數字字元結束

void main()

從尾到頭列印單鏈表

由於單鏈表只能從按單個方向訪問下乙個節點,而不能訪問前乙個節點。首先,解決這個問題肯定要遍歷鍊錶。遍歷的順序是從頭到尾的順序,可輸出的順序卻是從尾到頭。也就是說第乙個遍歷到的結點最後乙個輸出,而最後乙個遍歷到得結點第乙個輸出。這就是典型的 後進先出 可以用 棧實現這種順序。實現程式過程 每經過乙個結...

從尾到頭列印單鏈表

可運用兩種方法列印 方法一 迴圈演算法 方法二 遞迴壓棧呼叫 方法一 先呼叫我們已經寫好的煉表頭檔案list.h鍊錶構造方面不過多說明。void printreverse listnode first 要列印的結點 printf d cur data end cur 1.通過cur next end...

從尾到頭列印單鏈表

思路 1 上面的題的要求就是逆序列印單鏈表 2 方式1 先將單鏈表進行反轉操作,然後再遍歷即可,這樣的做法的問題是會破壞原來的單鏈表的結構,不建議 3 方式2 可以利用棧這個資料結構,將各個節點壓入到棧中,然後利用棧的先進後出的特點,就實現了逆序列印的效果 public static void re...