單鏈表的翻轉
思路:定義節點reversehead=new heronode();
遍歷鍊錶,遍歷乙個就放入最前端,放入新的鍊錶
head.next=reversehead.next
public static void reverselist(heronode head){
if (head.next==null|| head.next.next==null){
return ;
heronode cur =head.next;
heronode next=null;
heronode reversehead =new heronode(0,"","")
while(cur!=null){
next=cur.next;
cur.next=reversehead.next;
reversehead.next=cur;
cur=next;
head.next=reversehead.next;
從尾到頭列印單鏈表
法一:反轉再列印
法二:利用棧,將節點壓入棧,然後利用棧的先進後出實現
public static void reverseprint(heronode head){
stackstack=new stack();
heronode cur =head.next;
while(cur!=null){
stack.push(cur);
cur=cur,next;
while(stack.size>0){
system.out.println(stack.pop());
資料結構 鏈表面試題總
以下 是在vs2013下編寫的 我們先來看一下測試結果 include include include include 鍊錶的定義 typedef int datatype typedef struct slistnode slistnode 初始化 void slistinit slistnode...
單鏈表 (面試題)
關於單鏈表的基本操作,之前已經總結過了,那些掌握之後算是了解了單鏈表是什麼?不過現在面試的題中,肯定不會只讓你回答單鏈表的基礎操作,總是會改變一些東西,或是擴充套件一下。下面就是一些關於單鏈表的擴充套件內容 include include include pragma warning disable...
單鏈表面試題
1.倒序列印鍊錶 void reverseprint slistnode pfirst 有兩種方法 1.遞迴操作 2.非遞迴操作 2 非遞迴 slistnode pend slistnode pcur pend null while pfirst pend pend pcur printf d pe...