vuoto riservato button1_Click (mittente dell'oggetto, EventArgs e)
{
LinkedList list1 = nuovo LinkedList ();
list1.AddFirst (“aa„);
list1.AddLast (“dd„);
list1.AddLast (“gg„);
list1.AddLast (“millimetro„);
list1.AddLast (“oo„);
list1.AddLast (“xx„);
LinkedList list2 = nuovo LinkedList ();
list2.AddFirst (“bb„);
list2.AddLast (“cc„);
list2.AddLast (“FF„);
list2.AddLast (“nn„);
list2.AddLast (“yy„);
list2.AddLast (“zz„);
LinkedList si è fuso = MergeSortedLists (list1, list2);
foreach (stringa s in fuso in)
{
System.Diagnostics.Debug.WriteLine;
}
}
LinkedList riservato MergeSortedLists (LinkedList list1, LinkedList list2)
{
LinkedList si è fuso = nuovo LinkedList ();
LinkedListNode nodeCurrent1 = list1.First;
LinkedListNode nodeCurrent2 = list2.First;
mentre (! (&& nodeCurrent2==null di nodeCurrent1==null)){
se (posizione di segnale minimo del == nodeCurrent1)
{
merged.AddLast (nodeCurrent2.Value);
nodeCurrent2 = nodeCurrent2.Next;
}
altrimenti se (posizione di segnale minimo del == nodeCurrent2)
{
merged.AddLast (nodeCurrent1.Value);
nodeCurrent2 = nodeCurrent1.Next;
}
altrimenti
{
comparisonResult = stringa di int. Confrontare (nodeCurrent1.Value, nodeCurrent2.Value);
se (comparisonResult < 0=""> 0)
{
merged.AddLast (nodeCurrent2.Value);
nodeCurrent2 = nodeCurrent2.Next;
}
altrimenti
{le stringhe di // sono uguali
merged.AddLast (nodeCurrent1.Value);
nodeCurrent1 = nodeCurrent1.Next;
merged.AddLast (nodeCurrent2.Value);
nodeCurrent2 = nodeCurrent2.Next;
}
}
}
il ritorno si è fuso;
}
|