Advertisement
Guest User

Untitled

a guest
Dec 9th, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.96 KB | None | 0 0
  1.  
  2. void PersonList::Remove(Person * person)
  3. {
  4.     int index = IndexOf(person);
  5.     if (index == 0)
  6.     {
  7.         if (_head != nullptr)
  8.         {
  9.             PersonListItem * pTmpPointer = _head;
  10.             _head = _head->NextItem;
  11.             _head->PrevItem = nullptr;
  12.             delete pTmpPointer;
  13.             _count--;
  14.         }
  15.     } else
  16.     if (index == _count-1)
  17.     {
  18.         PersonListItem* currentItem = _head;
  19.         for (int i = 1; i <= _count-1; i++)
  20.         {
  21.             currentItem = currentItem->NextItem;
  22.         }
  23.         PersonListItem* currentTmpItem = currentItem;
  24.         currentItem = currentItem->PrevItem;
  25.         currentItem->NextItem = nullptr;
  26.         delete currentTmpItem;
  27.         _count--;
  28.     }
  29.     else
  30.     if (index >0)
  31.     {
  32.         PersonListItem* currentItem = _head;
  33.         for (int i = 1; i <=index; i++)
  34.         {
  35.             currentItem = currentItem->NextItem;
  36.         }
  37.         PersonListItem* currentTmpItem = currentItem;
  38.         currentItem->NextItem->PrevItem = currentItem->PrevItem;
  39.         currentItem->PrevItem->NextItem = currentItem->NextItem;
  40.         delete currentTmpItem;
  41.         _count--;
  42.     }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement