[KOSSA] C++ Programming - 15th Study - STL #1
-
Upload
seok-joon-yun -
Category
Software
-
view
28 -
download
1
Transcript of [KOSSA] C++ Programming - 15th Study - STL #1
3
Bijarne Stroustrup
Alexander Stepanov
4
http://ko.wikipedia.org/wiki/표준_템플릿_라이브러리
5
6
7
8
10
12
std::vector
std::deque
std::list
14
15
배열 std::vector
16
17
18
#include <vector> // 해더 파일
std::vector<int> vec; // 선언
vec.push_back(10); // 추가vec.pop_back(); // 삭제
vec.resize(10, 0); // 초기화 : 10의 크기를 0으로 채움vec[3] = 10; // 랜덤 접근
std::cout << vec[3] << std::endl; // 랜덤 접근
19
int nSum = 0;for (int i = 0; i < vec.size(); i++){
nSum += vec[i];}
// auto = std::iterator<std::vector<int>>for (auto it = vec.begin(); it != vec.end(); it++){
nSum += (*it);}
21
std::vector
22
23
#include <deque> // 해더 파일
std::deque<int> deq; // 선언
deq.push_back(10); // 뒤에 추가deq.pop_back(); // 뒤에 삭제deq.push_front(20); // 앞으로 추가deq.pop_front(); // 앞에 삭제
deq.resize(10, 0); // 초기화 : 10의 크기를 0으로 채움deq[3] = 10; // 랜덤 접근
std::cout << deq[3] << std::endl; // 랜덤 접근
24
int nSum = 0;for (int i = 0; i < deq.size(); i++){
nSum += vec[i];}
// auto = std::vector<int>::iteratorfor (auto it = deq.begin(); it != deq.end(); it++){
nSum += (*it);}
26
27
28
29
#include <list>
std::list<int> lst;
lst.push_back(5); // 5lst.push_back(10); // 5 -> 10lst.push_front(1); // 1 -> 5 -> 10
auto it = lst.begin(); // 첫번째 위치, it -> 1 -> 5 -> 10it++; // 두번째 위치, 1 -> it -> 5 -> 10auto at = lst.insert(it, 2); // 2 삽입, 1 -> at -> 2 -> it -> 5 -> 10lst.insert(at, 3); // 1 -> 3 -> at -> 2 -> it -> 5 -> 10lst.insert(it, 4); // 1 -> 3 -> at -> 2 -> 4 -> it -> 5 -> 10
for (auto iter = lst.begin(); iter != lst.end(); iter++)std::cout << (*iter) << '\t';
30
std::list<int> lstB;lstB.push_back(20); // 20lstB.push_back(30); // 20 -> 30
// 1 -> 3 -> at -> 2 -> 4 -> it -> 5 -> 10lst.insert(it, lstB.begin(), lstB.end());
// 1 -> 3 -> at -> 2 -> 4 -> 20 -> 30 -> it -> 5 -> 10
for (auto iter = lst.begin(); iter != lst.end(); iter++)std::cout << (*iter) << '\t';
std::cout << std::endl;