Queue
Queue란?
컴퓨터의 기본적인 자료 구조의 한가지로,
먼저 집어 넣은 데이터가 먼저 나오는 FIFO(First In First Out)구조로 저장하는 형식이다.
C++ 헤더파일 #include<queue>를 추가해준다.
Queue 기본함수에는
push, pop, front, back, empty, swap이 있다.
#include <iostream>
#include <queue>
using namespace std;
int main() {
// queue<자료형> 변수명으로 큐를 선언한다.
queue<int> q;
// push를 하여 queue의 데이터를 추가한다.
q.push(1);
q.push(2);
q.push(3);
q.push(4);
q.push(5);
queue<int> second_q;
second_q.push(6);
second_q.push(7);
second_q.push(8);
second_q.push(9);
second_q.push(10);
cout << "front Queue : " << q.front() << '\n';
//front은 제일 최상위 큐의 데이터를 반환한다.
cout << "back Queue : " << q.back() << '\n';
//back은 마지막 데이터를 반환한다.
cout << "Queue Size : " << q.size() << '\n';
//size는 큐의 현 사이즈를 반환하는 함수이다.
cout << "Check Empty : " << (q.empty() ? "Yes" : "No") << '\n';
//empty는 큐가 비어있는지 확인한다.
cout << "Swap q, second_q" << '\n';
second_q.swap(q);
// swap을 사용하여 두개의 큐의 데이터를 바꾼다.
cout << "second_q : " << '\n';
//큐의 전체 데이터를 출력한다.
while (!q.empty()) {
cout << q.front() << " ";
q.pop();
}
}
Vector
Vector의 가장 큰 장점은 동적으로 원소를 추가할 수 있으며
크기가 자동으로 늘어난다는 점입니다. 쉽게 말해 크기가 가변적으로 변하는 배열이라고 할 수 있다.
Vector의 기본함수는
push_back, pop_back, size, begin, end 등이 있다.
#include <vector>
#include <iostream>
using namespace std;
int main() {
// vector 선언
vector<int> v;
// vector 값 추가하기
for (int i = 1; i < 6; i++)
v.push_back(i);
// vector 값 출력
for (int j = 0; j < v.size(); j++)
cout << v[j] << " ";
cout << "\n";
vector<int> v2;
v2.push_back(1);
v2.push_back(2);
v2.push_back(3);
v2.push_back(4);
cout << "First vector value : " << v2.front() << "\n";
cout << "Last vector value : " << v2.back() << "\n";
cout << "Vector Size : " << v2.size() << "\n";
v2.pop_back();
// size를 이용한 vector 전체 값 출력
for (vector <int>::size_type k = 0; k < v2.size(), k++;)
cout << "Vector Value : " << v[k] << "\n";
}
'Algorithm' 카테고리의 다른 글
[코드트리 조별과제] 계단 오르기 2 (0) | 2024.08.11 |
---|---|
[코드트리] 싸움땅 python 문제풀이 (2022 삼성전자 하반기 오전 1번문제) (0) | 2023.05.09 |
[코드트리] 포탑 부수기 python 문제풀이 (2023 삼성전자 오전 1번문제) (0) | 2023.05.05 |
[Algorithm] DFS 깊이 우선 탐색, BFS 너비 우선 탐색 (C++) (0) | 2022.01.14 |