Guest User

Untitled

a guest
Jun 22nd, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. inline bool dliste::ausfuegen( char *name)
  2. {
  3. list * p = anker; // Laufzeiger
  4.  
  5. while ( p != NULL && strcmp( p->inhalt, name ) < 0 )
  6. p = p->next;
  7.  
  8. if (p == NULL || strcmp( p->inhalt, name ) > 0 )
  9. return false; // Gesuchtes Element existiert nicht!
  10.  
  11. // nun zeigt p auf das auszufuegende Element, Ausketten:
  12.  
  13. if (p == anker) // erstes Element
  14. {
  15. anker = anker->next; // 1. Element aus Liste ausketten
  16. if (anker == NULL) // Jetzt ist Liste leer
  17. endlist = NULL; // dann auch Endzeiger setzen
  18. else
  19. anker->before = NULL;
  20. }
  21. else // im Inneren ausfuegen
  22. {
  23. p->before->next = p->next; // vorwaerts neu verketten
  24. if (p->next == NULL) // auszufuegendes ist letztes Element
  25. endlist = p->before;
  26. else // nicht letztes Element
  27. p->next->before = p->before; // rueckwaerts neu verketten
  28. }
  29. Anzahl--; // 1 Element weniger
  30. delete p; // Speicher freigeben
  31. return true;
  32. }
Add Comment
Please, Sign In to add comment