Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void PersonList::Remove(Person * person)
- {
- int index = IndexOf(person);
- if (index == 0)
- {
- if (_head != nullptr)
- {
- PersonListItem * pTmpPointer = _head;
- _head = _head->NextItem;
- _head->PrevItem = nullptr;
- delete pTmpPointer;
- _count--;
- }
- } else
- if (index == _count-1)
- {
- PersonListItem* currentItem = _head;
- for (int i = 1; i <= _count-1; i++)
- {
- currentItem = currentItem->NextItem;
- }
- PersonListItem* currentTmpItem = currentItem;
- currentItem = currentItem->PrevItem;
- currentItem->NextItem = nullptr;
- delete currentTmpItem;
- _count--;
- }
- else
- if (index >0)
- {
- PersonListItem* currentItem = _head;
- for (int i = 1; i <=index; i++)
- {
- currentItem = currentItem->NextItem;
- }
- PersonListItem* currentTmpItem = currentItem;
- currentItem->NextItem->PrevItem = currentItem->PrevItem;
- currentItem->PrevItem->NextItem = currentItem->NextItem;
- delete currentTmpItem;
- _count--;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement