본문 바로가기

컴퓨터공학 언어/C, C++9

Point 와 String 1. 포인터 const char * weekday[]= {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; 여기서 const는 const char *가 아닌 const char에 적용 되므로 포인터가 가리키고 있는 값을 바꿀 수는 없지만 주소 값은 바꿀 수 있다. 2. string 특정 문자열로 자르고 싶을 때 #include #include using namespace std; string str_arr[1000]; int str_cnt; int main() { string a = "My name is kukaro"; char *str_buff = new char[1000]; strcpy(str_buff, a.c_str()); char *tok = strtok(s.. 2021. 9. 18.
Priority Queue Priority_Queue 1. Priority_Queue란 무엇인가? Priority_Queue는 Queue의 한 종류로 우선순위에 따라 정렬된 Queue이다. 어떤 원소가 삽입되면 주어진 우선순위에 맞춰서 Queue가 정렬되고, 삭제는 정렬된 Queue의 앞에서 이루어진다. Heap로 구현되었기 때문에, O(log) 시간복잡도 2. priority_queue container 생성자와 연산자 template class priority_queue;** 기본 생성자 형식 priority_queue [변수이름]; ex) priority_queue pq; 내.. 2021. 8. 4.
vector vector 1) 정의 사이즈가 유동적인 배열 2) 용도 배열을 사용하는 모든 경우 3) 사용법 v.size(); // v의 사이즈 v.resize(new_size); // v를 new_size로 사이즈를 바꿔준다. v.empty(); // v의 사이즈가 0인지 아닌지를 확인 v.begin(); // v의 마지막 원소를 가리키는 iterator 리턴 v.end(); // v의 마지막 원소를 가리키는 iterator 리턴 v.front(); // v의 0번째 원소를 리턴 v.back(); // v의 마지막 원소를 리턴 v.push_back(val); // v의 끝에 val을 추가 v.pop_back(); // v의 마지막 원소를 삭제 v.clear(); // v의 모든 원소를 삭제 에 있는 reverse(.. 2021. 8. 4.
Pair pair STL 컨테이너 : pair, vector 1) 정의 이름이 'first', 'second'인 두 개의 변수를 저장할 수 있는 struct이다. 2) 용도 (1) 이차원 배열의 인덱스 (2) 이차원 좌표평면에서의 좌표 (3) 정점 번호와 해당 정점 번호까지의 최단거리를 묶어서 저장해야 되는 경우 3) 사용법 pair를 사용하기 위해서는 를 include해야 한다. pair는 다른 컨테이너들에 비해 간단한 구조이기 때문에 멤버 함수가 적다. // pair 선언 #include utility pair p; pair p; // pair 생성 int a = 1, b = 2; pair p = make_pair(a,b); pair p = make_pair(1,2); // pair의 멤버 변수에 접군 int.. 2021. 8. 4.
Queue Queue 1) 정의 FIFO(First In First Out, 선입선출) 자료구조 2) 용도 (1) BFS (2) 특별한 알고리즘을 사용하는 것이 아니라 직접 문제 상황을 구현하는 문제들 중 FIFO의 구조를 문제를 풀때 3) 사용법 queue q; q.size(); // q의 사이즈(물리적 저장 용량이 아닌 원소의 개수) q.empty(); // q의 사이즈가 0인지 아닌지를 확인 q.front(); // q에 가장 먼저 들어간 원소를 리턴 q.back(); // q에 가장 나중에 들어간 원소를 리턴 q.push(val); // q의 뒤에 val 추가 q.pop(); // q에 가장 먼저 들어간 원소를 삭제 중요한 내용 queue q, emt; swap(q, emt); swap 함수 : queue에.. 2021. 8. 4.
참조 int& ra = a;를 했을경우 - 포인터가 a를 가르킨다거나 하는게 아니라 - 그냥 a와 ra가 같은 메모리를 가지는 변수이다. - a, ra 와 같은 이름은 프로그래머 입장에서만 의미가 있기때문에 - 다들 별명이라고 그냥 부른다. - 컴파일러가 레퍼런스변수와 일반변수를 같은 메모리로 간주한다. 2021. 7. 21.