ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자료구조...56
    일지 2021. 1. 5. 13:33

    원형 큐 삭제 메서드 구현

     

    CircularQueue.cpp

    /// <summary>
    /// CircularQueue의 시작 부분을 제거하지 않고 반환한다.
    /// </summary>
    /// <returns>시작 부분에 있는 값</returns>
    int CircularQueue::Peek()
    {
    	if (m_count <= 0)
    	{
    		throw std::out_of_range("empty");
    	}
    
    	return m_items[m_rear];
    }
    
    /// <summary>
    /// CircularQueue의 시작 부분의 값을 제거한 뒤 반환한다.
    /// </summary>
    /// <returns>시작 부분에 있던 값</returns>
    int CircularQueue::Dequeue()
    {
    	if (m_count <= 0)
    	{
    		throw std::out_of_range("empty");
    	}
    
    	int data{ m_items[m_rear++] };
    	m_rear = m_rear % (m_capacity + 1);
    	m_count--;
    
    	return data;
    }
    
    /// <summary>
    /// CircularQueue의 모든 값을 제거한다.
    /// </summary>
    void CircularQueue::Clear()
    {
    	m_front = m_rear = m_count = 0;
    }

     

    댓글

Designed by Tistory.