-
원형 큐 (Circular Queue)언어/C, C++ 2021. 1. 19. 23:13
#pragma once const int MAX = 100; class CircularQueue { private: int* m_queue; int m_front; int m_tail; int m_max; int m_size; public: CircularQueue(int _max = MAX); ~CircularQueue(); void EnQueue(int _item); int DeQueue(); bool IsEmpty(); bool IsFull(); int GetFront(); int GetSize(); };
CircularQueue.h
#include "CircularQueue.h" CircularQueue::CircularQueue(int _max) { m_front = 0; m_tail = 0; m_max = _max; m_size = 0; m_queue = new int[_max]; } CircularQueue::~CircularQueue() { delete[] m_queue; } void CircularQueue::EnQueue(int _item) { m_queue[m_tail] = _item; m_tail = (m_tail + 1) % m_max; m_size++; } int CircularQueue::DeQueue() { int temp; temp = m_queue[m_front]; m_front = (m_front + 1) % m_max; m_size--; return temp; } bool CircularQueue::IsEmpty() { return m_size == 0; } bool CircularQueue::IsFull() { return m_size = m_max; } int CircularQueue::GetFront() { return m_queue[m_front]; } int CircularQueue::GetSize() { return m_size; }
CircularQueue.cpp
'언어 > C, C++' 카테고리의 다른 글
버블 정렬 (Bubble Sort) (0) 2021.01.25 선택 정렬 (Selection Sort) (0) 2021.01.25 연결 리스트 큐 (LinkedList Queue) (0) 2021.01.19 배열 큐 (Array Queue) (0) 2021.01.19 연결 리스트 스택 (Linked List Stack) (0) 2021.01.13