컴퓨터/C++
C언어를 공부하고,자료구조를 공부했다면은 간단한 자료구조를 구현하고 사용해보았을 것이다.
하지만 필요할때마다 원하는 자료형을 가진 자료형을 만드는 것은 엄청나게 많은 시간을 소비하게 됩니다.
C++에서는 STL이라는 표준 템플릿 라이브러리를 통해 손쉽게 다양한 자료구조들을 사용할 수 있습니다.
본문에서는 STL의 전반적인 개념과 구성 요소에 대해 알아보겠습니다.
STL 라이브러리 안에는 몇가지 구성요소를 가지고 만들어 졌습니다.
컨테이너는 여러 자료형의 데이터를 자유롭게 담을 수 있는 객체 입니다.
흔히 말하는 다양한 자료구조 개념을 컨테이너의 형태로 구현한 것이죠.
STL에서 제공하는 컨테이너 중 몇가지를 알아보도록 하겠습니다.
C++에서 컨테이너객체를 생성했다면 반복자를 통해 생성된 객체의 원소(값)들을 추가,제거,선택등의 다양한 기능을 할수 있습니다. 이러한 기능들을 반복자 라고 합니다.
흔히 말하는 알고리즘의 개념적 요소들을 구현한 것입니다. 이 녀석을 사용해서 구현되어 있는 알고리즘을 손쉽게 사용할 수 있습니다.
앞으로 하나씩 STL 컨테이너들을 사용해 볼 것입니다.
오늘은 예제소스를 통해 간단하게 위의 구성요소들을 사용해 보겠습니다.
#include <iostream>
// STL vector를 사용
#include <vector>
// STL algorithm을 사용
#include <algorithm>
using namespace std;
int main() {
vector<int> vec1; // int 타입을 담을 수 있는 vector 자료 구조
vector<string> vec2; // String 타입을 담을 수 있는 vector 자료구조
//값 추가하기
vec1.push_back(5);
vec1.push_back(2);
vec1.push_back(7);
vec1.push_back(10);
//값 출력하기 (이터레이터 사용)
for (vector<int>::iterator itr = vec1.begin(); itr != vec1.end(); itr++) {
printf("%d \n", *itr);
}
//값 제거하기 가장 마지막
vec1.pop_back();
//알고리즘 사용하기
sort(vec1.begin(), vec1.end());
//값 출력하기 (이터레이터 사용)
for (vector<int>::iterator itr = vec1.begin(); itr != vec1.end(); itr++) {
printf("%d \n", *itr);
}
return 0;
}
C++ - 배열 vector와 2차원 vector (0) | 2022.03.29 |
---|---|
C++ - STL vector 클래스 (손쉬운 동적배열) (0) | 2022.03.21 |
C++ - STL라이브러리 piar (0) | 2022.03.17 |
91년생 공학엔지니어의 개발일지
TODAY :
YESTER DAY :
TOTAL :
Commnet