C++ 문제풀이
22.06.08 숙제 풀이 (리스트 중간 삽입, 중간 삭제)
지노링
2022. 6. 9. 17:09
728x90
중간 삽입
void Insert(T data, int idx)
{
if (idx == 0)
{
PushFront(data);
return;
}
OnePathNode<T>* iter = head;
OnePathNode<T>* iterNext;
for (int i = 0; i < (idx - 1); ++i)
{
iter = iter->next;
}
iterNext = iter->next;
OnePathNode<T>* temp = new OnePathNode<T>;
temp->value = data;
temp->next = iterNext;
iter->next = temp;
}
중간 삭제
void Erase(int idx)
{
if (idx == 0)
{
PopFront();
return;
}
OnePathNode<T>* iter = head;
OnePathNode<T>* iterNext;
for (int i = 0; i < (idx - 1); ++i)
{
iter = iter->next;
}
iterNext = iter->next;
iter->next = iterNext->next;
delete iterNext;
}
728x90