본문 바로가기

Programming6

9. stl vector 다루기 stl의 vector를 다루면서 배운 점을 정리해보겠다. 1. stl vector 사용법 #include vector 벡터이름; - 벡터는 앞쪽이 막혀 있는 형태로 앞쪽에는 원소를 추가/제거할 수 없고 뒤쪽에만 추가/제거가 가능하다. 2. 벡터의 크기 지정 선언 - 만약 벡터의 크기를 미리 정의해놓고 싶다면 벡터이름(N); 이렇게 쓰면 된다. 3. 벡터 함수들 * 템플릿 형식 template class vector - T는 vector 컨테이너 원소의 형식 * 생성자 vector v v는 빈 컨테이너이다. vector v(n) v는 기본값으로 초기화된 n개의 원소를 갖는다. vector v(n, x) v는 x값으로 초기화된 n개의 원소를 갖는다. vector v(v2) v는 v2 컨테이너의 복사본이다. .. 2020. 5. 3.
8. 배열 다루기 배열을 공부하면서 배운 점을 정리해보도록 하겠다. 1. 이차원 배열 동적 메모리 할당 및 초기화 int** arr = new int*[sizeY]; for(int i = 0;i < sizeY; i++){ arr[i] = new int[sizeX]; memset(arr[i], 0, sizeof(int) * sizeX); } 2. 배열 선언 및 상수로 초기화 int c[10] = {0, }; 이렇게 정수형 배열 c를 선언하면 0이 10개 있는 배열이 만들어진다. 3. 배열 메모리 해제 for(int i = 0;i < sizeY; ++i) delete[] arr[i]; delete[] arr; 4. 배열 복사 - 똑같은 원소 가진 배열 하나 더 만들기 #include copy(src, src+n, dst); .. 2020. 5. 3.
7. 정렬 다루기 정렬을 다루면서 배운 점을 정리해보겠다. ● sort (#include 사용) 1. 오름차순 sort sort(arr, arr+10); 여기서 10은 배열 arr의 크기이다. 2. 내림차순 sort bool desc(int a, int b){ return a>b; } sort(arr, arr+10, desc); 사용자가 함수를 정의해서 정렬을 어떻게 할 것인지 정할 수 있다. 3. 벡터를 사용한 정렬 sort(v.begin(), v.end(), greater()); → 내림차순 정렬 sort(v.begin(), v.end(), less()); → 오름차순 정렬 ● bubble sort 구현 void BubbleSort(int arr[], int n){ int i, j; int temp; for(i = 0.. 2020. 5. 3.
6. 문자열 다루기 문자열을 다루면서 배운 점을 정리해보겠다. 1. int를 string으로 바꾸기 to_string(int a) 사용 2. 부분 문자열 str.substr(i, length) 문자열 str의 i번째 원소부터 length 길이만큼 자른다. 3. 문자열의 길이 구하기 str.length() 4. 문자열의 특정 원소 (char)를 int로 바꾸기 inp[i] - '0' 5. scanf로 문자열 입력, 길이 char a[10]; scanf("%s", a); printf("%d", strlen(a)); 4. for문에서 매 반복마다 문자열 입력받고 싶을 때 char a[10], b[10]; for(int i = 1; scanf("%s%s", a, b) && i 2020. 5. 3.