using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { PrintAll.Print(Merge(new Node(2,new Node(7,new Node(9))), new Node(1,new Node(10,new Node(11))))); Console.Read(); } public static Node Merge(Node chain1, Node chain2) { Node temp = null; if (chain1.GetInfo() < chain2.GetInfo()) { temp = new Node(chain1.GetInfo()); chain1 = chain1.GetNextNode(); } else { temp = new Node(chain2.GetInfo()); chain2 = chain2.GetNextNode(); } Node chain = temp; while (chain1 != null || chain2 != null) { if (chain1 == null) { temp.SetNextNode(new Node(chain2.GetInfo())); chain2 = chain2.GetNextNode(); } else if (chain2 == null) { temp.SetNextNode(new Node(chain1.GetInfo())); chain1 = chain1.GetNextNode(); } else if (chain1.GetInfo() < chain2.GetInfo()) { temp.SetNextNode(new Node(chain1.GetInfo())); chain1 = chain1.GetNextNode(); } else { temp.SetNextNode(new Node(chain2.GetInfo())); chain2 = chain2.GetNextNode(); } temp = temp.GetNextNode(); } return chain; } } }