package com.study;
/**
* 從尾到頭列印單鏈表
* */
class node
}class stack
else }
public static int pop()
else }}
public class suanfa3 ;
/*根據陣列建立單鏈表*/
public static void createlist(int arr, node head)
} }
/*順序列印單鏈表*/
public static void printlist(node head)
system.out.println("null");
} }/*不改變原來的鍊錶結構列印,可以考慮以空間換取時間來提高效率**/
public static void reverseprintwithoutchange(node head)
/*出棧*/
while((data = stack.pop()) != -1)
system.out.println("null"); }
public static void main(string args)
}
因為是單鏈表,所以無法遍歷到尾節點,然後在倒回去列印。這裡有兩種解決思路:
1.不改變該鍊錶結構的情況下,由於先遍歷到的節點後列印,所以符合棧的特點,所以自然想到可以建立乙個棧儲存先遍歷到的節點。然後再出棧即可。如上面的**所示。
golang單鏈表反向
反轉乙個單鏈表 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 nullfunc reverselist head listnode listnode if head nil head.next nil next head.next head.next nil newhead reve...
遞迴函式反向顯示單鏈表
不帶表頭的單鏈表,結點型別 typedef struct lnodenode 使用遞迴函式反向顯示以h為頭指標的單鏈表的所有值。反向顯示以h為頭指標的單鏈表的所有節點值 void display lnode h 為什麼要把輸出語句放在遞迴函式display 後面呢?因為反向輸出的過程是這樣的 從鏈首...
單鏈表的建立和列印
最近想複習關於c語言中煉表方面的知識,看到這篇部落格寫的很詳細,便對部落格中的 重新手打了一遍,並改正了其中的幾個小錯誤,可能還有錯誤,望大家指正。include include 定義鍊錶資料結構 struct node 函式宣告 struct node creat struct node void...