본문 바로가기
반응형

프로그래밍 언어/C++81

[C++] [STL] Deque Deque - 헤더파일: #include - Vector와 마찬가지로 배열 기반 컨테이너이다. [C++] [STL] Vector 사용 방법 동적으로 원소를 추가하고 크기를 자동으로 늘려주는 Vector C++ 표준 라이브러리(STL) 중 하나이다. → #include - front() : 첫 번째 원소 - back() : 마지막 원소 - begin() : 첫번째 위치 - end() : 마지막.. zoosso.tistory.com - vector와 큰 차이는 push_front()와 pop_front()이다. - Queue 자료구조에서 FIFO (First In First Out) - Stack 자료구조에서 LIFO (Last In First Out) 였다면 [C++] [STL] Queue Queue 기본.. 2021. 7. 30.
[C++] [STL] multiset multiset set이 중복되지 않는 원소를 저장한다면 multiset은 중복 원소를 저장할 수 있다. 기본적인 내장 함수는 Set을 참고해도 좋다. [C++] [STL] Set Set - 중복 없는 원소만을 가지는 집합 같은 것이다. (중복 허용 X) - 헤더파일: #include - set에 들어가는 원소는 자동으로 정렬된다. - set은 기본적으로 오름차순(less) 정렬이고 greater 조건자로 내림 zoosso.tistory.com 중복 원소를 저장할 수 있는 것에 결과값에 차이가 있을 수 있다. - 헤더파일: #include - multiset 원소는 자동으로 정렬된다. - 기본적으로 오름차순(less) 정렬이고 greater 조건자로 내림차순 정렬 가능 관련 함수 - insert(valu.. 2021. 7. 30.
[C++] [STL] Set Set - 중복 없는 원소만을 가지는 집합 같은 것이다. (중복 허용 X) - 헤더파일: #include - set에 들어가는 원소는 자동으로 정렬된다. - set은 기본적으로 오름차순(less) 정렬이고 greater 조건자로 내림차순 정렬 가능 - 내부적으로 균형 이진탐색트리(Balanced Binary Search Tree)로 구현되어 있다. - 중위 순회 구조 관련 함수 - insert(value): value 원소 추가 - insert(iter, value): iter가 가리키는 위치 부터 value 원소를 삽입할 위치 탐색하여 삽입 → insert 함수는 이미 존재하는 원소 삽입 시 아무일도 발생하지 않는다. → pair 타입으로 return 받으면 second값을 통해 이미 존재하는 원소인지.. 2021. 7. 29.
[STL] unique 함수 활용한 vector 중복 원소 제거 unique 함수란? - 헤더파일: #include - vector 배열에서 원소를 중복없이 앞쪽에 채워주는 함수이다. - 기존 크기는 변화가 없기 때문에 앞쪽에 채워지고 남은 뒷공간에 원소들이 그대로 존재한다. ex. {2, 3, 3, 4, 5, 5, 1, 1, 1} → {2, 3, 4, 5, 1, 5, 1, 1, 1} 중복 없는 unique한 원소를 앞쪽에 배치해주는 것이라고 볼 수 있다. 원소 배치 및 개수에 따라 뒤쪽에 중복 원소들이 있을 수 있는데 erase 함수 활용해서 제거할 수 있다. 즉, vector의 중복 원소를 제거할 수 있다. 이러한 처리해주는 것으로는 STL 중 set 이 존재한다. ▶ [C++] [STL] Set [C++] [STL] Set Set - 중복 없는 원소만을 가지는 .. 2021. 7. 29.
[C++] protected 생성자(Constructor)란? 객체지향프로그래밍에서... 아래와 같이 Animal 이라는 모든 동물의 특성을 지닌 객체가 있고, 고유 특성을 지닌 개, 고양이, 닭, 말 등들이 Animal 클래스를 상속하는 경우가 있다. class Animal { public: Animal() {} }; class Harbang : public Animal { public: Harbang() {} // => Harbang() : Animal() {} }; int main() { Animal animal; Harbang harbang; } Animal 클래스에서 기본 생성자가 public이기 때문에 아래와 같이 Animal animal;를 제한없이 선언할 수 있다. 하지만 Animal 객체의 목적은 공통의 특성을 저장하는 것이지 하나의 인스턴스로 사용.. 2021. 7. 4.
[C++] 상속 관계에서 생성자 호출순서와 명시적 호출이란? 앞서 C++에서 상속 형태에 대해서 알고 싶은 경우에는 아래 글 참고 ▶ [C++] 상속(inheritance)이란? [C++] 상속(inheritance)이란? - 기존 객체 속성을 물려받아 새로운 객체를 만든다. - 동물 ㄴ 개, 고양이, 닭, 말, 토끼 등 - 여행 ㄴ 해외, 국내, 1박 2일, 당일치기 - 물려주는 부모 역할의 객체를 "기반(Base) 클래스"라 zoosso.tistory.com 아래 Code를 보면 main문에서 인자가 있는 파생 클래스를 호출했다. #include class Base { public: Base() { std::cout Derived() : Base() {} Derived(int val) { } // -> Derived(int a) : Base() {} ~Deri.. 2021. 7. 4.
[C++] 상속(inheritance)이란? - 기존 객체 속성을 물려받아 새로운 객체를 만든다. - 동물 ㄴ 개, 고양이, 닭, 말, 토끼 등 - 여행 ㄴ 해외, 국내, 1박 2일, 당일치기 - 물려주는 부모 역할의 객체를 "기반(Base) 클래스"라 하고, 물려받는 자식 객체를 "파생(Derived) 클래스"라 한다. ① 파생 클래스명 (자식) ② 기반 클래스명 (부모) ③ 상속권한 명시자 ; 기반클래스로부터 상속받는 멤버들의 파생클래스에서의 접근권한 결정 → 기반 클래스 멤버는 파생 클래스에 모두 상속되지만, 기반클래스의 private멤버는 파생클래스에서 접근할 수 없다 → 상속권한 명시자 관점에서 부모(기반) 클래스를 어떻게 상속하는지 살펴보자. class Base { int id; protected: char name; public: vo.. 2021. 7. 4.
[C++] [STL] Stack Stack 기본 연산 - LIFO 구조 (Last In First Out) - push(element) : 스택 (뒤쪽에) 원소 추가 - pop() : 스택에 (뒤쪽에) 있는 원소 삭제 (반환 x) - top() : 스택에서 끝에 있는 원소 반환 - empty() : 스택이 비어있으면 true 아니면 false 반환 - size() : 스택 사이즈 반환 Code #include #include using namespace std; #define endl "\n" int main(){ stack s; s.push(4); s.push(3); s.push(2); s.push(1); s.pop(); // 1 삭제 s.pop(); // 2 삭제 cout 2021. 2. 28.
[C++] [STL] Queue Queue 기본 연산 - FIFO 구조 (First In First Out) - push(element) : 큐 (뒤에) 원소 추가 - pop() : 큐에 (앞쪽에) 있는 원소 삭제 - front() : 큐 제일 앞에 있는 원소 반환 - back() : 큐 제일 뒤에 있는 원소 반환 - empty() : 큐가 비어있으면 true 아니면 false 반환 - size() : 큐 사이즈 반환 Code #include #include using namespace std; #define endl '\n' int main() { // 큐 생성 queue q; q.push(1); q.push(2); q.push(3); q.pop(); q.pop(); cout 2021. 2. 28.
[C++] [STL] Map Map 기본 연산 map의 원소는 pair 객체로 저장되며 pair 객체의 first 멤버 변수는 key로 second 멤버 변수는 value이다. - map : key와 value를 pair 형태로 선언 함수 목록 - begin() : beginning iterator 반환 - end() : end iterator 반환 - insert( make_pair(key,value) ): 맵에 원소를 pair 형태로 추가 - erase(key) : 맵에서 key에 해당하는 원소 삭제 - clear() : 맵의 원소들 모두 삭제 - find(key) : key(키값)에 해당하는 iterator를 반환 - count(key) : key(키값)에 해당하는 원소들(value들)의 개수를 반환 ※ map에서는 중복을 허.. 2021. 2. 28.
반응형