C++로 큐 구현

< 배열로 구현한 큐 >

 

#include <iostream>
#include <string>

const int MX = 1000005;
int dat[MX];
int head = 0, tail = 0;

void push(int x) {
	dat[tail] = x;
	tail++;
}

void pop() {
	head++;
}

int front() {
	return dat[head];
}

int back() {
	return dat[tail - 1];
}

void test() {
	push(10); push(20); push(30);
	std::cout << front() << '\n'; // 10
	std::cout << back() << '\n'; // 30
	pop(); pop();
	push(15); push(25);
	std::cout << front() << '\n'; // 30
	std::cout << back() << '\n'; // 25
}

int main()
{
	test();
}

 

 

 

< 원형큐로 구현 >

 

#include <iostream>
#include <string>

const int MX = 100;
int dat[MX];
int head = 0, tail = 0;

void push(int x) {
	dat[tail] = x;
	tail = (tail + 1) % MX;
}

void pop() {
	head = (head + 1) % MX;
}

int front() {
	return dat[head];
}

int back() {

	return dat[(tail - 1) % MX];
}

void test() {
	push(10); push(20); push(30);
	std::cout << front() << '\n'; // 10
	std::cout << back() << '\n'; // 30
	pop(); pop();
	push(15); push(25);
	std::cout << front() << '\n'; // 30
	std::cout << back() << '\n'; // 25
}

int main()
{
	test();
}

 


< 참고자료 >

 

https://blog.encrypted.gg/934

 

[실전 알고리즘] 0x06강 - 큐

안녕하세요, 바킹독입니다. 이번 시간에는 큐를 배워보겠습니다. 저번 단원에서 배운 스택이랑 이번에 배울 큐랑은 좀 비슷한게 많습니다. 그래서 전 단원을 잘 이해하고 왔다면 이번 단원도 수

blog.encrypted.gg

 

'CS > C++' 카테고리의 다른 글

C++ Deque VS Vector  (0) 2023.07.12
C++로 덱 구현  (0) 2023.07.11
C++로 스택 구현 / STL stack  (0) 2023.07.11
vector 관련 정리  (0) 2023.07.10
C++ 입력받기  (1) 2023.07.09