單鏈表(反轉,合併)

2021-08-25 06:07:42 字數 942 閱讀 2036

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...