ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자료구조...52
    일지 2020. 12. 16. 10:58

    연결 리스트 큐 삽입 메서드 구현

     

    LinkedListQueue.cpp

    /// <summary>
    /// LinkedListQueue의 끝 부분에 값을 추가한다.
    /// </summary>
    /// <param name="value">추가할 값</param>
    void LinkedListQueue::Enqueue(int value)
    {
    	m_items.Add(value);
    }

     

    연결 리스트 큐 인출 메서드 구현

     

    LinkedListQueue.cpp

    /// <summary>
    /// LinkedListQueue의 시작 부분을 제거하지 않고 반환한다.
    /// </summary>
    /// <returns>시작 부분에 있는 값</returns>
    int LinkedListQueue::Peek()
    {
    	if (m_items.Count() <= 0)
    	{
    		throw std::out_of_range("empty");
    	}
    
    	return m_items.Item(0);
    }
    
    /// <summary>
    /// LinkedListQueue의 시작 부분의 값을 제거한 뒤 반환한다.
    /// </summary>
    /// <returns>시작 부분에 있던 값</returns>
    int LinkedListQueue::Dequeue()
    {
    	if (m_items.Count() <= 0)
    	{
    		throw std::out_of_range("empty");
    	}
    
    	int data{ m_items.Item(0) };
    	m_items.RemoveAt(0);
    
    	return data;
    }
    
    /// <summary>
    /// LinkedListQueue의 모든 값을 제거한다.
    /// </summary>
    void LinkedListQueue::Clear()
    {
    	m_items.Clear();
    }

     

    연결 리스트 큐 기능 메서드 구현

     

    LinkedListQueue.cpp

    /// <summary>
    /// LinkedListQueue에 지정한 값이 존재하는지 확인한다.
    /// </summary>
    /// <param name="value">LinkedListQueue에서 찾을 값</param>
    /// <returns>값의 존재 여부</returns>
    bool LinkedListQueue::Contains(int value)
    {
    	return m_items.Contains(value);
    }

     

    댓글

Designed by Tistory.