한 걸음 두 걸음

C++ 선형 큐 본문

CSE/Data Structure

C++ 선형 큐

언제나 변함없이 2019. 11. 6. 17:05
반응형
#include <cstdio>
#include <cstdlib>
const int MAX_QUEUE_SIZE = 100;

class Queue {
private:
    int front;
    int rear;
    int data[MAX_QUEUE_SIZE];

public:
    Queue() {
        front = rear = -1;
    }

    void enquque(int element) {
        if (front != -1) {
            for (int i = 0; i < rear; i++) {
                data[i] = data[i + front + 1];
            }
            rear -= front + 1;
            front = -1;
        }
        if (!isFull()) {
            data[++rear] = element;
        }
    }

    void dequeue() {
        if (!isEmpty()) {
            front++;
        }
    }
    bool isFull() {
        return rear == MAX_QUEUE_SIZE - 1;
    }
    bool isEmpty() {
        return rear == front;
    }

    void display() {
        for (int i = front + 1; i <= rear; i++) {
            printf("%2d ", data[i]);
        }
    }

};

void main() {
    Queue queue;
}
반응형

'CSE > Data Structure' 카테고리의 다른 글

자료구조 / 인접리스트를 활용한 그래프 (C++)  (0) 2019.11.13
C++ 원형 덱  (0) 2019.11.06
C++ 환형 큐  (0) 2019.11.06
C++ 스택  (0) 2019.11.06
자료구조 맵 ] Map / Collection  (0) 2019.03.27