일지
자료구조...56
niamdank
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;
}
더보기