strcomp



  • Hallo!
    Habe hier eine Prüfungsfrage und komme nicht so ganz dahinter:

    Im Hinblick auf welches Konzept des Software-Entwurfs ist diese Implementierung mit der Vergleichsfunktion strcomp nicht optimal:

    BNODE *search (char *mystring)
    {BNODE *p=root;
    int c;

    while (p && (c = strcomp (mystring, p->in.lname))) // um diese Zeile gehts
    p = p->s[c>0];
    return p;
    }
    Es soll hier in einem Baum sukzessive nach dem Knoten mit Inhalt mystring gesucht werden. (vielleicht besser durch Rekursivität? Ist das einzige was mir hierzu einfällt.)

    Danke für die Antworten



  • Hallo Thommy,

    ist das die komplette Aufgabenstellung? Könntest Du das Ganze in C++-Code-Tags setzen, um es besser lesen zu können? Findest Du unten neben den Smileys.

    Danke!

    Oliver



  • Hi,

    BNODE *search (char *mystring)
    {
        BNODE *p=root;
        int c;
    
             while (p && (c = strcomp (mystring, p->in.lname))) // um diese Zeile gehts
                 p = p->s[c>0];
    
        return p;
    }
    

    1. Vielleicht sollte man statt strcomp(?? ich nehm mal an strcmpi) die Funktion
    memicmp einsetzen. Ob das dann schon etwas besser waere, kann ich allerdings
    nicht sagen.

    p = p->s[c>0];
    

    Versteh ich nicht! Warum den p = p -> s[c>0];? Wenn s der Nextpointer
    ist, wuerde man dann nicht einfach p = p -> s; schreiben? 😕

    Falls ich quatsch geschrieben habe, ignorier mich einfach

    mfg
    v R



  • Hi,

    ich frage mich immer noch, ob das das ganze Programm ist. Mit so einem Fragment alleine kann man doch eigentlich keine zufriedenstellende Antwort geben.

    Gruß

    Oliver


Anmelden zum Antworten