일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 리눅스 커널
- px4
- Bandit
- 컴퓨터구조
- 시그널
- 리버싱
- 프로그래밍
- 시스템
- 어셈블리어
- write up
- 리눅스
- 시스템 프로그래밍
- radare2
- kernel
- pwn.college
- Leviathan
- 시스템프로그래밍
- css
- wargame
- C++
- Pwnable.kr
- 취약점
- 알고리즘
- 시스템해킹
- 리눅스커널
- 커널
- 드론
- C언어
- pwncollege
- 워게임
Archives
- Today
- Total
Computer Security
#12 C++ STL 컨테이너 어댑터 라이브러리 본문
반응형
C++ STL 컨테이너 어댑터
1) STL 컨테이너 어댑터 라이브러리는 매우 활용도가 높은 자료구조를 제공한다.
2) 기존의 C언어를 이용하면 구현하기 까다로웠던 다양한 자료구조를 손쉽게 이용할 수 있다.
- Stack(스택)
- Queue(큐)
- Priority Queue(우선순위 큐)
C++ STL 컨테이너 어댑터: 스택 (후입선출)
C++ Stack STL은 다음과 같은 함수로 구성되어 있다.
- 추가: push(원소)
- 삭제: pop()
- 조회: top()
- 검사: empty() / size()
코드 예시
#include <iostream>
#include <stack>
//스택 라이브러리 불러옴
using namespace std;
int main(void) {
stack<int> s; //인트형 받고 s라하자.
s.push(7); s.push(5); s.push(4); s.pop(); s.push(6); s.pop();
//7넣고 5 넣고 4넣고 4빼고 6넣고 6빼고 남아있는건 7 5
while (!s.empty()) { //!s.empty() 뜻은 안에 남아있는게 없을 때 까지 수행해라
cout << s.top() << ' ';
s.pop(); //5뽑고 pop하고 , 7뽑고 pop하면, 남아있는게 없다! ->종료
}
system("pause");
}
결과 값
C++ STL 컨테이너 어댑터: 큐 (선입선출)
C++ Queue STL은 다음과 같은 함수로 구성되어 있습니다.
- 추가: push(원소)
- 삭제: pop()
- 조회: front() / back()
- 검사: empty() / size()
코드 예시
#include <iostream>
#include <queue>
//큐 라이브러리 불러오기
using namespace std;
int main(void) {
queue<int> q;
q.push(7); q.push(5); q.push(4); q.pop(); q.push(6); q.pop();
//7들어가고 5 들어가고 4들어가고 7빼고 6들어가고 5빼서, 남아있는 건 4 6
while (!q.empty()) {
cout << q.front() << ' ';//앞에서부터 출력 즉,4부터 출력
q.pop();
}
system("pause");
}
결과 값
C++ STL 컨테이너 어댑터: 우선순위 큐 (큰수부터 정렬되어 출력되는 시스템)
코드 예시
#include <iostream>
#include <queue>
//똑같이 큐 라이브러리 안에 있다.
using namespace std;
int main(void) {
int n, x; //n,x 를 받는다.
cin >> n;
priority_queue<int> pq; //우선순위 큐를 pq라 정의
for (int i = 0; i < n; i++) { cin >> x; pq.push(x); }
//x의 입력값들을 pq안에 넣는다. 이와 동시에 큰것부터 정렬
while (!pq.empty()) {
cout << pq.top() << ' '; //출력
pq.pop();
}
system("pause");
}
결과 값
이로서,,, 그동안 C언어로 큐 스택 알고리즘을 사용하려면 코드가 꽤 길었는데 C++라이브러리를 이용해 매우 간편하게 이용 하게 되었다.
반응형
'프로그래밍 > C++' 카테고리의 다른 글
#14 C++ STL 연관 컨테이너 라이브러리 (0) | 2022.06.25 |
---|---|
#13 C++ STL 시퀀스 컨테이너 라이브러리 (0) | 2022.06.24 |
#11 C++ 스마트 포인터 (0) | 2022.06.22 |
#10 C++ 템플릿 (0) | 2022.06.21 |
#9 다형성 기법 2 (0) | 2022.06.20 |
Comments