この例では、Javaの特定のコードを共有して、リファレンスのために一元配置リンクリストの反転を実装しています。特定のコンテンツは次のとおりです
1.コードを実装します
public class linkedlisttest {public static void main(string [] args){node a = new node( "a");ノードb = newノード( "b");ノードc = newノード( "c");ノードd = newノード( "d"); node e = new Node( "e");ノードf = newノード( "f"); a.next = b; b.next = c; c.next = d; d.next = e; e.next = f;印刷(a); linkedListreversor reversor = linkedlistreversor.recursion; system.out.println(reversor.getStrategy() + ":");ノードTMP = Reversor.Execute(a); print(tmp); Reversor = linkedListreversor.no_recursion; system.out.println(reversor.getStrategy() + ":"); print(Reversor.Execute(TMP)); } private static void print(node node){while(node!= null){system.out.print(node.value); node = node.next; if(node!= null){system.out.print( " - >"); } else {system.out.println(); }}}}}} class node {public string value;次のパブリックノード; public node(string value){this.value = value; }} enum linkedlistreversor {recursion( "Recursion"){@override public node execute(node node){node prev = null; if(node == null || node.next == null){prev = node; } else {node tmp = execute(node.next); node.next.next = node; node.next = null; prev = tmp; } return prev; }}、no_recursion( "nonsrecursive"){@override public node execute(node node){node prev = null; while(node!= null){node tmp = node; node = node.next; tmp.next = prev; prev = tmp; } return prev; }};プライベートストリング戦略。 Private LinkedListreversor(String Strategy){this.strategy = Strategy; } public AbstractノードExecute(ノードノード); public string getStrategy(){return Strategy; }}2。実装のアイデア
再帰:尾から始まります
非回復率:頭から処理を開始します
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。