-
讓我告訴你如何:
1.遍歷整個單鏈表,依次按下堆疊;
2. 然後,您可以通過依次退出堆疊來獲得所謂的單鏈表反轉。
-
單向鍊表的相反順序仍然可以使用堆疊嗎?
-
1. 鍊表的抽象資料型別定義為:
adtnumber
資料關係:r=
基本操作:createlist(&l)。
結果:建立乙個鍊表 l。
printlist(l)
初始條件:鍊表 l 已存在。
結果:鍊表的值在螢幕上輸出。
inverselist(l)
初始條件:鍊表 l 已存在。
結果:此丟失反轉了鍊表。
destroylist(&l)
初始冰雹幻燈片:鍊表 l 已存在。
結果:銷毀鍊表 l。
adtnumber
2.該程式包含五個模組:
1)主程式模具源拾取蠟塊:
int main(){
定義變數; 接受訂單;
處理命令; exit(返回 0);
2)建立鍊表模組——生成鍊表;
3)輸出鍊表模組——輸出鍊表;
4)鍊表反轉模組——反轉鍊表;
5)銷毀鍊表模組——程式結束後釋放鍊表開啟的空間。
模組之間的呼叫關係如下:
Master Program 模組 建立鍊表模組。
建立鍊表模組 輸出鍊表模組 鍊表反轉模組。
輸出鍊表模組 建立鍊表模組 銷毀鍊表模組。
-
a:將單向鍊表儲存為陣列,然後以陣列索引的相反順序反轉它。
c:將第二個節點的第乙個節點(頭節點)逐個插入到第n個節點,最後將第乙個節點移動到新錶的頁尾。
d:遞迴(相信大家都熟悉,對於樹的大多數問題,可以考慮用遞迴來解決。 但是我們不熟悉的一件事是,遞迴也可以用於單鏈表的一些問題。
它可以被看作是乙個單向鍊表,就像一棵總是只有左(右)子樹的樹,所以它可以通過遞迴來解決。 換言之,因為單鏈表本身的結構也是自相似的,所以可以通過遞迴來解決。
pre 指向上乙個節點,cur 指向當前節點,next 指向下乙個節點。
迴圈實現遞迴實現想法供參考。
-
這個問題是我畢業前在北京找實習時遇到的乙個面試問題。
誰不會按相反的順序排列,對吧? 你不能使用陣列,你不能使用字串,你不能使用集合。 您只能使用 node 來構建鍊表。
嗯,我似乎有點印象,我在大學學習資料結構時研究過資料結構。
但當時我真的忘記了,面試官很有耐心,教了我。 唉。 :)有三個步驟,第一步是實現鍊表,第二步是順序列印,第三步是反向列印,反向列印有兩種方案。
1.鍊表被反轉並按順序列印。 2.
鍊表不會受到干擾,並且以相反的順序列印
新增方法點:順序是使用 while 輸出值,反向順序是寫入遞迴反向輸出值
讓我們專注於我的想法,即做乙個反向的鍊表