-
연결 리스트 스택 삭제 메서드 구현
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(); }