Taene's

[C++] Queue 배열 구현 본문

C++ 개념 공부/자료구조

[C++] Queue 배열 구현

taene_ 2023. 10. 19. 12:12
#include <iostream>
using namespace std;

struct Node
{
	int x;
	char y;
	Node() 
	{	
		x = 0;
		y = NULL;
	}
	Node(int a, char b)
	{
		x = a;
		y = b;
	}
};

class Queue
{
public:
	Queue() :queue(), mHead(0), mTail(0) {}
	~Queue() {}
	void Push(int a, char b)
	{
		Node* t = new Node(a, b);
		if (queue[mHead] == nullptr)
		{
			queue[mHead] = t;
			queue[mTail] = t;
		}
		else
		{
			mTail += 1;
			queue[mTail] = t;
		}
	}
	void Pop()
	{
		int p = mHead;
		cout << queue[p]->x << ' ' << queue[p]->y << '\n';
		mHead = p + 1;
		delete queue[p];
	}
private:
	Node* queue[10];
	int mHead, mTail;
};

int main()
{
	int t;
	cin >> t;

	Queue q;
	for (int i = 0; i < t; i++)
	{
		int a;
		char b;
		cin >> a >> b;
		q.Push(a, b);
	}

	for (int i = 0; i < t; i++)
		q.Pop();

	return 0;
}

'C++ 개념 공부 > 자료구조' 카테고리의 다른 글

[C++] Queue 직접 구현  (0) 2023.10.22
[C++] Linked List 직접 구현  (0) 2023.10.22
[C++] Queue 구현  (0) 2023.10.18
[C++] 우선순위 큐  (0) 2023.09.07
[C++] 시간복잡도  (0) 2023.09.04