Fråga : Kan någon behaga hur mig hur till sorterad sammanfogning två anknutit listar i c#? Den är för intervjubtw.

Jag sågar kopplar ihop lösningen i c, men de är för confusing med pekare….,någon hjälp ska uppskattas högt. " klar "

Svar : Kan någon behaga hur mig hur till sorterad sammanfogning två anknutit listar i c#? Den är för intervjubtw.

Försök detta:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
        privat utan laga kraft button1_Click (anmärka avsändaren, EventArgs e),
        {
            LinkedList list1 = nya LinkedList ();
            list1.AddFirst (”aa”);
            list1.AddLast (”dd”);
            list1.AddLast (”gg”);
            list1.AddLast (”en mm”);
            list1.AddLast (”oo”);
            list1.AddLast (”xx”);

            LinkedList list2 = nya LinkedList ();
            list2.AddFirst (”bb”);
            list2.AddLast (”cc”);
            list2.AddLast (”ff”);
            list2.AddLast (”nn”);
            list2.AddLast (”yy”);
            list2.AddLast (”zz”);

            LinkedList applicerade = MergeSortedLists (list1, list2);
            foreach (stränga s, i applicerat),
            {
                System.Diagnostics.Debug.WriteLine;
            }
        }

        privata LinkedList MergeSortedLists (LinkedList list1, LinkedList list2)
        {
            LinkedList applicerade = nya LinkedList ();
            LinkedListNode nodeCurrent1 = list1.First;
            LinkedListNode nodeCurrent2 = list2.First;

            stunder (! (nodeCurrent1==null-&& nodeCurrent2==null)){
                om (ogiltig == nodeCurrent1)
                {
                    merged.AddLast (nodeCurrent2.Value);
                    nodeCurrent2 = nodeCurrent2.Next;
                }
                annars, om (ogiltig == nodeCurrent2)
                {
                    merged.AddLast (nodeCurrent1.Value);
                    nodeCurrent2 = nodeCurrent1.Next;
                }
                annars
                {
                    int-comparisonResult = stränger. Jämför (nodeCurrent1.Value, nodeCurrent2.Value);
                    om (comparisonResult < 0=""> 0)
                    {
                        merged.AddLast (nodeCurrent2.Value);
                        nodeCurrent2 = nodeCurrent2.Next;
                    }
                    annars
                    {// stränger är jämliket
                        merged.AddLast (nodeCurrent1.Value);
                        nodeCurrent1 = nodeCurrent1.Next;
                        merged.AddLast (nodeCurrent2.Value);
                        nodeCurrent2 = nodeCurrent2.Next;
                    }
                }

            }

            retur applicerade;
        }
Andra lösningar  
 
programming4us programming4us