Autor Beitrag
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Do 08.09.11 20:18 
user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Naja, aber eine Rekursion muss am Anfang noch nicht sein finde ich. Man kann auch versuchen die Probleme in mehreren Methoden und klassen und nicht nur in einer Methode, die sich selbst wieder aufruft (Rekursiert) aufzuteilen ;)

Das kannst Du natürlich gerne probieren, aber wirst dann auch schnell scheitern.
Wie möchtest Du denn z.B. die Abfrage von Verzeichnissen, Unterverzeichnissen und der darin enthaltenen Dateien ohne Rekursion machen?
Wenn Du nicht weisst, wie tief eine Hierarchie geht, kannst Du es nunmal nicht anders lösen.

Ich gebe zu, dass das Denken in Hierarchien schwierig sein kann. Aber es gibt halt Dinge, die man nicht anders lösen kann, als sich eine Technik anzueignen und zu implementieren.
pdelvo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 55
Erhaltene Danke: 11



BeitragVerfasst: Do 08.09.11 20:51 
user profile iconTrashkid2000 hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Naja, aber eine Rekursion muss am Anfang noch nicht sein finde ich. Man kann auch versuchen die Probleme in mehreren Methoden und klassen und nicht nur in einer Methode, die sich selbst wieder aufruft (Rekursiert) aufzuteilen ;)

Das kannst Du natürlich gerne probieren, aber wirst dann auch schnell scheitern.
Wie möchtest Du denn z.B. die Abfrage von Verzeichnissen, Unterverzeichnissen und der darin enthaltenen Dateien ohne Rekursion machen?
Wenn Du nicht weisst, wie tief eine Hierarchie geht, kannst Du es nunmal nicht anders lösen.

Ich gebe zu, dass das Denken in Hierarchien schwierig sein kann. Aber es gibt halt Dinge, die man nicht anders lösen kann, als sich eine Technik anzueignen und zu implementieren.


ein Stack<string>(hat nichts mit dem call stack zu tun) um das aktuelle Verzeichnis zu speichern, und dann durch iterieren. funktioniert dann ohne. Also mir ist nichts bekannt, wo ein Problem nur mit Rekursion zu lösen ist.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 08.09.11 20:56 
Zitat:
Wie möchtest Du denn z.B. die Abfrage von Verzeichnissen, Unterverzeichnissen und der darin enthaltenen Dateien ohne Rekursion machen?

Das scheitert hier ausschließlich an deiner Vorstellungskraft ;) Jeder Problem lässt sich auch rein iterativ lösen.

Ich spar mir mal die Files und das prüfen von Verzeichnisrechten im Beispiel. Zum zeigen das es auch ohne Rekursion geht sollte das ausreichen.
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
public List<string> GetAllDirectoriesFromPath(string rootPath)
{
    List<string> directories = new List<string>(Directory.GetDirectories(rootPath));
    int current = 0;
    while (current < directories.Count)
    {                
        directories.AddRange(Directory.GetDirectories(directories[current]));
        current++;
    }
    return directories;
}
storestore Threadstarter
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 397
Erhaltene Danke: 7

WIN 7
C#
BeitragVerfasst: Do 08.09.11 21:21 
Ok, showtime ^^
*Finger knacken las*
@C#: Das mit "Readkey" ist echt eine gute Idee. Danke!
@Trashkid2000: Deine Sorgen sind berechtigt! Das ist eig. genau so, wei man sagt: "Ich lerne Autofahren. Aber das Autobahn fahren lasse ich weg, weil ich das noch nicht brauche" *Sich selbst ein "Fail" gib ^^*. Das mit der Rekursierung sollte ich mit in meinen "Lehrplan" bauen. Ich werde das hoffentlich machen, sobal ich das Thema "oop"(Objektorientierte Programmierung) zuende gebracht ha@@be.
@Ralf Jansen: Sehr gut! Der code stimmt (glaube ich) ^^

lg storestore

_________________
Der Pc ist nur so schlau, wie derjenige der in steuert!
"Don't Quit. Suffer now, and live the rest of your life as a champion"