приватное свободное пространство button1_Click (прислужник предмета, EventArgs e)
{
LinkedList list1 = новое LinkedList ();
list1.AddFirst («aa»);
list1.AddLast («dd»);
list1.AddLast («gg»);
list1.AddLast («mm»);
list1.AddLast («oo»);
list1.AddLast («xx»);
LinkedList list2 = новое LinkedList ();
list2.AddFirst («bb»);
list2.AddLast («cc»);
list2.AddLast («ff»);
list2.AddLast («nn»);
list2.AddLast («yy»);
list2.AddLast («zz»);
LinkedList слило = MergeSortedLists (list1, list2);
foreach (шнур s в после того как я слит)
{
System.Diagnostics.Debug.WriteLine;
}
}
приватное LinkedList MergeSortedLists (LinkedList list1, LinkedList list2)
{
LinkedList слило = новое LinkedList ();
LinkedListNode nodeCurrent1 = list1.First;
LinkedListNode nodeCurrent2 = list2.First;
пока (! (&& nodeCurrent2==null nodeCurrent1==null)){
если (null == nodeCurrent1), то
{
merged.AddLast (nodeCurrent2.Value);
nodeCurrent2 = nodeCurrent2.Next;
}
еще если (null == nodeCurrent2), то
{
merged.AddLast (nodeCurrent1.Value);
nodeCurrent2 = nodeCurrent1.Next;
}
еще
{
comparisonResult = шнур int. Сравните (nodeCurrent1.Value, nodeCurrent2.Value);
если (comparisonResult < 0=""> 0), то
{
merged.AddLast (nodeCurrent2.Value);
nodeCurrent2 = nodeCurrent2.Next;
}
еще
{шнуры // равны
merged.AddLast (nodeCurrent1.Value);
nodeCurrent1 = nodeCurrent1.Next;
merged.AddLast (nodeCurrent2.Value);
nodeCurrent2 = nodeCurrent2.Next;
}
}
}
возвращение слило;
}
|