일지
자료구조...42
niamdank
2020. 11. 30. 13:10
연결 리스트 스택 삭제 메서드 구현
LinkedListStack.cpp
/// <summary>
/// LinkedListStack의 최상위 값을 제거하지 않고 반환한다.
/// </summary>
/// <returns>최상위에 있는 값</returns>
int LinkedListStack::Peek()
{
if (m_items.Count() <= 0)
{
throw std::out_of_range("empty");
}
return m_items.Front().m_data;
}
/// <summary>
/// LinkedListStack의 최상위 값을 제거한 뒤 반환한다.
/// </summary>
/// <returns>최상위에 있던 값</returns>
int LinkedListStack::Pop()
{
if (m_items.Count() <= 0)
{
throw std::out_of_range("empty");
}
SinglyLinkedListNode& topNode{ m_items.Front() };
int data{ topNode.m_data };
m_items.Remove(&topNode);
return data;
}
/// <summary>
/// LinkedListStack의 모든 값을 제거한다.
/// </summary>
void LinkedListStack::Clear()
{
m_items.Clear();
}