[C++/백준 10845번] 큐

2024. 10. 12. 16:18·프로그래밍 공부/백준 (C++)

 

#include <iostream>
#include <list>
using namespace std;

#define MaxSize 100001;


class queue
{
private:
	int front;
	int rear;
	int maxSize;
	int* arr;

public:
	queue(int input_size);
	~queue();
	void push(int input);
	int pop();
	int size();
	int empty();
	int front_print();
	int back_print();
};

queue::queue(int input_size)
{
	maxSize = input_size + 1;
	front = rear = 0;
	arr = new int[input_size];
}

queue::~queue()
{
	delete[] arr;
}

void queue::push(int input)
{
	rear = (rear + 1) % maxSize;

	arr[rear] = input;

}

int queue::pop()
{
	if (empty()) return -1;
	else
	{
		return arr[++front % maxSize];
	}


}

int queue::size()
{
	return rear - front;
}

int queue::empty()
{
	if (front == rear) return 1;
	else return 0;
}

int queue::front_print()
{
	if (empty()) return -1;
	else return arr[front+1];
}

int queue::back_print()
{

	if (empty()) return -1;
	else return arr[rear];

}


int main() {



	int N;

	cin >> N;

	queue * Q = new queue(N);


	for (int i = 0; i < N; i++)
	{
		string input;

		cin >> input;

		if (input == "push")
		{
			int num;
			cin >> num;
			Q->push(num);
		}

		if (input == "pop") cout << Q->pop() << '\n';
	
		if (input == "size") cout << Q->size() << '\n';
	
		if (input == "empty") cout << Q->empty() << '\n';
	
		if (input == "front") cout << Q->front_print() << '\n';
	
		if (input == "back") cout << Q->back_print() << '\n';
	
	}

	delete Q;

	
	return 0;
}

 

'프로그래밍 공부 > 백준 (C++)' 카테고리의 다른 글

[C++/백준 10866번] 덱  (0) 2024.10.12
[C++/백준 1158번] 요세푸스 문제  (0) 2024.10.12
[C++/백준 1874번] 에디터  (0) 2024.10.12
[C++/백준 1874번] 스택 수열  (0) 2024.10.11
[C++/백준 9093번] 괄호  (0) 2024.10.11
'프로그래밍 공부/백준 (C++)' 카테고리의 다른 글
  • [C++/백준 10866번] 덱
  • [C++/백준 1158번] 요세푸스 문제
  • [C++/백준 1874번] 에디터
  • [C++/백준 1874번] 스택 수열
Rocketbabydolls
Rocketbabydolls
Rocketbabydolls
  • Rocketbabydolls
    With The Lights Out
    Rocketbabydolls
  • 전체
    오늘
    어제
    • 전체글 (183) N
      • 프로그래밍 공부 (117)
        • C (16)
        • Jumping into C++ (9)
        • MFC (C++) (1)
        • 자료구조 (1)
        • 알고리즘 (1)
        • 백준 (C++) (74)
        • 핸즈온 머신러닝 2판 (6)
        • Unseen 3기 준비 (4)
        • 원티드 포텐업 게임 개발자 양성과정 2기 (4)
      • 언리얼엔진5 (62) N
        • [Part1] 이득우의 언리얼 프로그래밍 (12)
        • [Part2] 이득우의 언리얼 프로그래밍 (2)
        • [Part2 복습] 이득우의 언리얼 프로그래밍 (3)
        • [Part3] 이득우의 언리얼 프로그래밍 (14)
        • [Part4] 이득우의 언리얼 프로그래밍 (0)
        • FPS 게임 1인 프로젝트 (6)
        • 각종 지식 (10) N
        • 블루프린트 Paper2D 로 게임 만들기 (14)
        • 팀 프로젝트 (1)
      • 일상 (1)
      • ETC (1)
        • 맥북 (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      언리얼엔진 옵저버 패턴
      언리얼엔진 중재자 패턴
      언리얼엔진 디자인 패턴
      핸즈온 머신러닝 2판
      실전 C 프로그래밍
      언리얼엔진5 fps 프로젝트
      핸즈온 머신러닝
      c++ 17298
      실전 C프로그래밍 실습문제
      티스토리챌린지
      오블완
      실전C프로그래밍 나중채
      c언어
      실전C프로그래밍
      언리얼엔진
      실전 C프로그래밍
      C언어 실습문제
      실전 C프로그래밍 나중채
      언리얼엔진5
      실전C프로그래밍 실습문제
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    Rocketbabydolls
    [C++/백준 10845번] 큐
    상단으로

    티스토리툴바