发布时间: 2012-06-20 20:37:21 作者: rapoo
C#实现 将两个有序链表并为一个有序链表using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication4{ class Program { static void Display(LinkedList<string> ls) { foreach (string s in ls) { Console.WriteLine(s); } } static void MergeList(LinkedList<string> ls1, LinkedList<string> ls2, ref LinkedList<string> ls3) { LinkedListNode<string> p1 = ls1.First; LinkedListNode<string> p2 = ls2.First; LinkedListNode<string> p3 = new LinkedListNode<string>(""); if (p1.Value.CompareTo(p2.Value) < 0) { p3.Value = p1.Value; p1 = p1.Next; } else { p3.Value = p2.Value; p2 = p2.Next; } ls3.AddFirst(p3); while((p1!=null) && (p2!=null)) { LinkedListNode<string> p4 = new LinkedListNode<string>(""); if (p1.Value.CompareTo(p2.Value) < 0 ) { p4.Value = p1.Value; ls3.AddLast(p4); p1 = p1.Next; } else { p4.Value = p2.Value; ls3.AddLast(p4); p2 = p2.Next; } } while (p1 != null) { LinkedListNode<string> p5 = new LinkedListNode<string>(""); p5.Value = p1.Value; ls3.AddLast(p5); p1 = p1.Next; } while (p2 != null) { LinkedListNode<string> p6 = new LinkedListNode<string>(""); p6.Value = p2.Value; ls3.AddLast(p6); p2 = p2.Next; } } static void Main(string[] args) { string[] words1 = { "aa", "bb", "cc" ,"cd1"}; LinkedList<string> ls1 = new LinkedList<string>(words1); string[] words2 = { "aa1","bb3","ee","xx"}; LinkedList<string> ls2 = new LinkedList<string>(words2); LinkedList<string> ls3 = new LinkedList<string>(); MergeList(ls1,ls2, ref ls3); Display(ls3); Console.ReadKey(); } }}
一个基于asp和C#的网站已经上线为
C# 频繁向Excel表格中累加数据
C#下这种效果的注释应该如何实现
有图片做一个N皇后有关问题的网页
【叫小弟我猫爷_】Linq多字段分组.
求免费图表控件解决思路
vs2012上轮换空行的正则表达式
C# 继承WinForm 窗体控件属性不可修
COM组件是什么解决办法
怎么取出数据库某int类型的列全部之和