Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- inline bool dliste::ausfuegen( char *name)
- {
- list * p = anker; // Laufzeiger
- while ( p != NULL && strcmp( p->inhalt, name ) < 0 )
- p = p->next;
- if (p == NULL || strcmp( p->inhalt, name ) > 0 )
- return false; // Gesuchtes Element existiert nicht!
- // nun zeigt p auf das auszufuegende Element, Ausketten:
- if (p == anker) // erstes Element
- {
- anker = anker->next; // 1. Element aus Liste ausketten
- if (anker == NULL) // Jetzt ist Liste leer
- endlist = NULL; // dann auch Endzeiger setzen
- else
- anker->before = NULL;
- }
- else // im Inneren ausfuegen
- {
- p->before->next = p->next; // vorwaerts neu verketten
- if (p->next == NULL) // auszufuegendes ist letztes Element
- endlist = p->before;
- else // nicht letztes Element
- p->next->before = p->before; // rueckwaerts neu verketten
- }
- Anzahl--; // 1 Element weniger
- delete p; // Speicher freigeben
- return true;
- }
Add Comment
Please, Sign In to add comment