스택
스택은 입구가 1개인 것으로 FILO, LIFO이다. 그림과 관련코드(C++)로 나타내면 아래와 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include <iostream>
#include <stack>
using namespace std;
int main() {
stack<int>s;
s.push(7);
s.push(3);
s.push(4);
s.pop();
s.push(6);
s.pop();
while (!s.empty()) { //스택이 비어있지 않은 동안
cout << s.top() << ' ';
s.pop();
}
return 0;
}
|
cs |
위 코드를 실행하면 결과는 '3 7'이 나온다.
큐
큐는 입구와 출구가 있는 것으로 생각하면 쉽다. FIFO, LILO이며, 그림과 관련 코드로 나타내면 아래와 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include <iostream>
#include <queue>
using namespace std;
int main() {
queue<int>q;
q.push(7);
q.push(3);
q.push(4);
q.pop();
q.push(6);
q.pop();
while (!q.empty()) { //스택이 비어있지 않은 동안
cout << q.front() << ' ';
q.pop();
}
return 0;
}
|
cs |
위 코드를 실행하면 결과는 '4 6'이 나온다.
스택과 큐는 간단한 자료구조라 간단하게 하고 넘어갔다. 오늘도 수업하며 코테를 위해서는 C++(혹은 파이썬)을 마스터해야겠다는 생각이 들었다..
'알고리즘 > 실전알고리즘강좌(동빈나)' 카테고리의 다른 글
합집합 찾기(Union-Find), 크루스칼 알고리즘(Kruskal Algorithm) (0) | 2022.01.22 |
---|---|
탐색 - 너비우선탐색(Breath First Search), 깊이우선탐색(Depth First Search) (0) | 2022.01.18 |
정렬(sorting) - C++ STL sort() 함수 (0) | 2022.01.07 |
정렬(sorting) - 병합정렬(Merge Sort), 힙정렬(Heap Sort), 계수정렬(Counting Sort) (0) | 2022.01.07 |
정렬(sorting) - 선택정렬(selection sort), 버블정렬(bubble sort), 삽입정렬(insertion sort), 퀵정렬(quick sort) (0) | 2021.12.28 |