單鏈表倒序輸出-使用遞歸構建棧

我寫王道寫了20-30多道題目,目前我就記錄了這一道,因爲這是唯一我看答案沒有秒懂的,就是道理書上很簡單樣子但是我不明白,但是我想明白,雖然不明白用其他方法也可以,但是就是想明白,0-0

聰明的孩子懂遞歸的小朋友不需要看了……

題目:設L爲帶頭節點的單鏈表,編寫算法實現從頭到尾反向輸出每個節點的值

#include<stdio.h>
#include"list.h"  //我自己定義的一個關於鏈表的頭文件,想運行的人類得自己寫鏈表結構還有鏈表創建,或者去掉這個頭文件自己寫代碼。。
#include<stdlib.h>
void pr(list L)
{


                if(L->next!=0)
                {
                        pr(L->next);
                }
                printf("%d ",L->data);

}//這個代碼有點小問題,也不是我寫的,是王道寫的,就是會多輸出一個垃圾值,額 我暫時不想管,你們自己解決吧,重點不是這個
int main()
{  
   link p;
   create(&p,5);
   pr(&p);
}

 

 

大致就是像下圖這樣(因爲github寫博客傳圖很麻煩所以還是記錄一下在這裏好了)

 我開始用的是別的方法,覺得這個代碼還不錯,2行的東西最好了,所有代碼少的我都喜歡。我覺得以你們智商是可以明白的,,,,,,,所以 你們秒懂了,就沒有什麼好說的了。就是遞歸嘛,嵌套調用pr。相信你們的智商比我高,不用我再寫了

所以傻乎乎(FU)的孩子如我爲什麼要學編程爲什麼要學編程,爲什麼要學這些奇奇怪怪的東西啊!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章