1.
//實現單鏈表的反轉
public void reverselist(heronode head)
heronode reservehead = new heronode(0,"","");
heronode next = null;
heronode cur = head.next;
while(cur!=null)
//將head替換reservehead這個頭節點。
head.next =reservehead.next;
}
注意問題:在遍歷和新增鍊錶的時候,判斷是否到鍊錶的末尾。輔助節點和判斷的時候只允許存在乙個next;
2.只實現鍊錶的反向列印,不改變鍊錶的結構。利用棧先進後出的原理。
//實現鍊錶的逆序列印
public void reverseprint(heronode head)
while (stack.size()>0)
}
資料結構 單鏈表實現反轉
如果鍊錶只有乙個或者沒有節點,則無需反轉 原鍊錶的第乙個節點即為反轉後的最後乙個元素,需要將其固定,我們叫它final 按原鍊錶的順序從第二個開始對所有節點node進行遍歷,每次將final的next重新指向node的next,將node的next重新指向head的next,將head的next重新...
資料結構 單鏈表反轉
鍊錶反轉一般有兩種解法 遞迴和迭代。首先給出鍊錶的定義 typedef struct taglnode linklist 假設鍊錶為head 1 2 3 4 5 null。linklist reverse linklist head 一開始我的想法是,先遞迴到最後一層,也就是reverse 5 這層...
資料結構之單鏈表反轉
單鏈表反轉的非遞迴方法 首先是結點的定義 public class node 使用非遞迴方法反轉單鏈表,需要設定兩個node型別的物件pre和nex,pre用來記錄head的前乙個結點,nex用來記錄head的後乙個結點,然後講head結點後移。public node reversecur node...