Frage : Luftblase, die eine verkettete Liste in C sortiert

Hallo,

I morgens Mühe mit dieser Funktion zur Austauschsortierung habend eine verkettete Liste. Ich bin Schlusse Nullpunkte. Konnten Sie mir bitte helfen, zu verstehen, was ich falsch tue und dieses Recht zu erhalten?

Thanks
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:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
void bubble_sort (Einzelteil *node)
{
   Einzelteil *first_prev, *first, *second, *temp;
   int I, J, n = 1;
   bool sortiert = falsch;

   //make, das diese 3 Zeiger auf den Kopf der Liste zeigen
   Temp = Nullpunkt;
   zuerst = Nullpunkt;
   first_prev = Nullpunkt;

 
   //count die Zahl Nullpunkten in der Liste
   während (first->next! = NULL)
   {
      n++;
      first= first->next;
   }


   für (i = 1; I <= n; i++)
   {
      zuerst = Temp;
      first_prev = Temp;
      an zweiter Stelle = first->next;

      für (j=1; j<= (Ni); j++)
	  {
         wenn (first->val > second->val)
         {
             wenn (erster == Temp)  
             {
                first->next = second->next;
                second->next = zuerst;
                Temp = an zweiter Stelle;
                zuerst = zweites;
             }
            sonst
            {
                first->next = second->next;
                second->next = zuerst;
                first_prev->next = an zweiter Stelle;
                zuerst = zweites;
            }
          }
         
          first_prev = zuerst;
          zuerst = first->next;
          an zweiter Stelle = first->next;
       }               
    }
   sortiert = ausrichten;

   PrintList ();
}

Antwort : Luftblase, die eine verkettete Liste in C sortiert

>> Wurzel 70 = bubble_sort (Wurzel);

Das bilden:

                        Kopf = bubble_sort (Kopf);

weil Kopf ist, zeigt der dieser Globalzeiger auf den Anfang der verketteten Liste.


>> Rückholfirst_prev 304;

Das bilden:

        Temp zurückbringen;

weil das ist, zeigt der dieser Zeiger auf den Anfang der sortierten Liste.
Weitere Lösungen  
 
programming4us programming4us