ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자료구조...42
    일지 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();
    }

    댓글

Designed by Tistory.