# Eine dynamische Liste sortieren



## s-tandel (27. August 2005)

Hallo Forum!

Hat jemand eine Ahnung, wie man ein einfach verkettete dynamische Liste mittels Bubble-Sort sortiert? Wenn ja dann antwortet mir bitte schnell!

Danke schonmal


----------



## RedWing (27. August 2005)

s-tandel hat gesagt.:
			
		

> Hallo Forum!
> 
> Hat jemand eine Ahnung, wie man ein einfach verkettete dynamische Liste mittels Bubble-Sort sortiert? Wenn ja dann antwortet mir bitte schnell!
> 
> Danke schonmal



Zeig mal deinen bisherigen Versuch bzw was du bis jetzt schon hast dann kann dir sicherlich jemand helfen.

Gruß

RedWing


----------



## s-tandel (27. August 2005)

int anzi;                                       //Anzahl der Listenelemente
  cout<<"Bitte warten Sortierung wird ausgeführt";
  Knoten * hilf=wurzel, * vorg=NULL;
  while (hilf!=NULL)                             //Anzahl der Listenelemente ermitteln
  {
    hilf=hilf->next;
    anzi++;
  }
  for (int anz_durchl =0; anz_durchl < anzi-1; anz_durchl++)
  for (int i=0; i<anzi-1; i++)
  hilf=wurzel;
  {
  }
}


----------



## Tobias K. (27. August 2005)

moin


Da würde ich dir auch nochmal die Sunfunktion ans Herz legen!
Da findet man ein paar Beispiele zu dem Thema.


mfg
umbrasaxum


----------



## RedWing (27. August 2005)

Schau mal:


```
class List{
        private:
                List* next;
                int elem;
        public:
                List(int elem){
                        next = NULL;
                        this->elem = elem;
                }

                //Sortieren nach bubble sort manier
                void sort(){
                        List* tmp1 = this;
                        List* tmp2 = this;
                        while(tmp1 != NULL){
                                while(tmp2 != NULL){
                                        if(tmp2->elem <= tmp1->elem){         //vertausche
                                                int tausch = tmp2->elem;
                                                tmp2->elem = tmp1->elem;
                                                tmp1->elem = tausch;
                                        }
                                        tmp2 = tmp2->next;
                                }
                                tmp2 = this;  //Zaehler 2 wieder reseten
                                tmp1 = tmp1->next; //Zaehler 1 um 1 element weiterschalten
                        }

                }
};
```

Gruß

RedWing


----------



## s-tandel (28. August 2005)

Ich hab schon mal gesucht, aber nichts gefunden! Ich habe mal ne Datei rangehängt, bei der ich schon recht weit bin, bzw. wo ich an einer Stelle bin wo ich nicht weiter weiß! Vielleicht könnte mal einer einen Blick drüber werfen! 

Danke


----------



## s-tandel (1. September 2005)

Danke für die Hilfe, ich hab es hinbekommen!


----------

