[C++] class VS 구조체
·
Language/C++
📌 Class와 구조체의 차이점 ⚡ 1. 기본 접근 제어 class : 기본적으로 멤버 변수 및 멤버 함수의 접근 제어 지시자가 private임 구조체 : 기본적으로 멤버 변수 및 멤버 함수의 접근 제어 지시자가 public임 ⚡ 2. 상속 class : 다른 클래스로부터 상속받을 수 있음 구조체 : 상속을 받을 수는 있지만, 기본적으로 접근 제어 지시자가 public이므로 상속시에도 멤버 변수와 멤버 함수는 public으로 상속됨 ⚡ 3. 사용 목적 class : 객체 지향 프로그래밍의 주요 개념 중 하나. 데이터와 해당 데이터를 조작하는 함수를 하나의 단위로 붂어 관리하는데 사용 ➡ 데이터 은닉, 캡슐화, 상속 등의 개념을 지원 구조체 : 주로 연관된 데이터를 그룹화하여 하나의 단위로 관리하기 위해 ..
[C++] <vector>
·
Language/C++
📌 0. 벡터란 메모리 heap에 생성되며 동적할당됨 장점 : 메모리를 효율적으로 관리하고 예외처리가 쉬움 단점 : 속도적인 측면에서 배열에 비해 성능은 떨어짐 📌 1. 벡터의 초기화 vector 변수명 : 벡터 생성 vector 변수명(숫자) : 숫자만큼 벡터 생성 후 0으로 초기화 vector 변수명 = {변수1, 변수2, 변수3, ...} : 벡터 생성 후 오른쪽 변수 값으로 초기화 vector 변수명[] = {,} : 벡터 배열(2차원 벡터)선언 및 초기화(행은 가변, 열은 고정) vector 변수명 : 2차원 벡터(행과 열 모두 가변) vector변수명.assign(범위, 초기화할 값) : 벡터의 범위 내에서 해당 ..
[C++] priority queue (우선순위 큐) 란?
·
Language/C++
📌 Priority_Queue란? Queue의 한 종류로 우선순위에 따라 정렬된 Queue 어떤 원소가 Push되면 주어진 우선순위에 맞춰서 Queue가 정렬되고, Pop은 정렬된 Queue의 앞에서 이루어짐 Heap으로 구현되었기 때문에, 특정 원소를 Push해 생기는 정렬 과정은 O(logN) 만에 이루어짐 📌 라이브러리 기본 명령어 priority_queue 변수명 선언한 자료형 변수들을 비교함수에 따라 정렬하는 priority_queue(우선순위큐) 선언 priority_queue 변수명 선언한 자료형 변수들을 내림차순에 따라 정렬하는 priority_queue를 선언 ex) priority_queue, cmp > pq int형 변수들을 cmp 우선순위에 따라 정렬하는 pq라는 이름의 우선순위 큐..
[C++] <algorithm>
·
Language/C++
📌 1. 정렬 ✔ sort() 배열 또는 벡터를 오름차순으로 정렬 기존 순서를 보장하지 않음 🔗 ex) #include #include using namespace std; int main(){ int arr[5] = {4,2,1,5,3}; sort(arr, arr+5); for(int i=0; i