Allgemeine Graphen
Die wichtigsten Operationen mit dynamischen Datenstrukturen sind :
- Erzeugen eines neuen Elements
- Einfügen eines Elements
- Entfernen eines Elements
- Suchen eines Elements
In C lassen sich die einzelnen Elemente (Knoten) durch structures darstellen.
Zur Realisierung verketteter Datenstrukturen müssen diese structures
Pointer auf structures ihres eigenen Typs enthalten. Beispiel:
struct datum
{
int tag;
int monat;
int jahr;
int jahrestag;
char mon_name[4];
struct datum heute; /* FALSCH */
};
struct datum
{
int tag;
int monat;
int jahr;
int jahrestag;
char mon_name[4];
struct datum *heute; /* RICHTIG */
};
Aufbau verketteter Datenstrukturen mittels rekursiver Strukturen
Einfach verkettete Liste
struct listelement
{
int inhalt;
struct listelement *next;
};
Doppelt verkettete Liste
struct listelement
{
int inhalt;
struct listelement *next;
struct listelement *back;
};
Binärer Baum
struct baumelement
{
int inhalt;
struct baumelement *rechts;
struct baumelement *links;
};
|
|