package wjh.singlelist.revise;
public class node
return ; }
/*** 鍊錶反轉(非遞迴)
* @param head
* @return
*/public node revise(node head)
else
node.next=prev;
prev=node.next;
} return head; }
/*** 合併兩個有序鍊錶,合併之後的鍊錶仍然有序
* @param node1 鍊錶一
* @param node2 鍊錶二
* @return 合併後的鍊錶
*/public node meragelist(node node1,node node2)
if(node2==null)
if(node1.dataelse
meragelist(node1.next, node2);
} else
else
meragelist(node1, node2.next);
} return node; }
/*** 遍歷鍊錶元素
* @param head
*/public static void printlist(node head)
else
} }/**
* 得到鍊錶的頭結點
* @param node
* @return
*/public node gethead(node node)
else
} return null; }
public static void main(string args)
}
單鏈表(合併單鏈表)
單鏈表遍歷 單鏈表遍歷是從單鏈表頭指標head開始訪問,沿著next指標所指示的方向依次訪問每乙個結點,且每個結點只能訪問依次,直到最後乙個結點為止。遍歷時注意,不要改變head指標的指向。因此一般設定另外的乙個指標變數如p,p從head開始依次訪問乙個結點,直到鍊錶結束,此時p null,完成依次...
單鏈表反轉
單鏈表反轉,可以用迴圈做,當然也可以遞迴 詳見 include includestruct node 3 1 4 6 2 1 1 3 4 6 2 2 4 1 3 6 2 3 6 4 1 3 2 4 2 6 4 1 3 5 迴圈反轉,即依次改動3個指標值,直到鍊錶反轉完成 比如,上面第 1 行到第 2...
反轉單鏈表
include stdafx.h include include using namespace std struct listnode typedef listnode plistnode typedef plistnode list list creatlist return head void...