본문 바로가기

C++ Programming20

[C++] 버블 정렬(Bubble Sort) 이번 시간에는 버블 정렬에 대해 알아보도록 하겠다. 버블 정렬은 가까이에 있는 두 숫자끼리 비교를 해서 당장 더 작은 숫자를 앞으로 보내주는 것을 반복하는 것이다. 정렬 알고리즘 중 가장 쉽지만 가장 비효율적인 정렬 방법이다. 앞서 배웠던 선택 정렬과 다르게 뒤에서부터 정렬이 된다. 코드로 구현해보면 #include int main() { int i, j, temp; int array[10] = { 1, 10, 5, 8, 7, 6, 4, 3, 2, 9 }; for (i = 0; i array[j + 1]) { temp = array[j]; array[j] = array[j + 1]; arr.. 2020. 5. 6.
[C++] 선택 정렬 (Selection Sort) 알고리즘 정리에서는 알고리즘에 대해 공부하면서 배운 내용을 정리해보겠다. 먼저 선택 정렬에 대해 알아보겠다. 선택 정렬은 가장 작은 것을 하나 뽑아서 맨 앞에 두고, 남은 것 중에서 또 작은 것을 뽑아서 두번째에 두면서 계속 진행하여 결국 모든 원소들을 정렬하는 방법이다. 코드로 구현해보면 #include int main() { int i, j, min, index, temp; int array[10] = { 1, 10, 5, 8, 7, 6, 4, 3, 2, 9 }; for (i = 0; i < 10; i++) { min = 9999; for (j = i; j < 10; j++) { if (array[j] < min) { min = array[j]; index = j; } } temp = array[i].. 2020. 5. 6.
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.