C++ 활용한 자료구조 - 배열
· 약 7분
목차
소개
배열은 가장 기본적이면서도 중요한 자료구조 중 하나입니다. 배열을 활용할 때 요소를 추가하거나 삭제하는 기능은 매우 유용합니다. 이번 포스트에서는 C++에서 배열에 요소를 추가하고 삭제하는 함수를 구현해보겠습니다.
배열의 기초
배열은 동일한 타입의 데이터를 연속된 메모리 공간에 저장하는 자료구조입니다. 배열은 고정된 크기를 가지며, 각 요소는 인덱스를 통해 접근할 수 있습니다.
int arr[5]; // 정수형 배열 선언
arr[0] = 10; // 배열의 첫 번째 요소에 값 할당
배열의 기본 연산
배열의 기본 연산에는 요소 접근, 수정, 크기 구하기, 순회 등이 있습니다.
int arr[5] = {1, 2, 3, 4, 5};
// 요소 접근
int value = arr[2]; // value는 3
// 요소 수정
arr[1] = 10; // arr은 이제 {1, 10, 3, 4, 5}
// 배열 순회
for(int i = 0; i < 5; i++) {
cout << arr[i] << " ";
}
배열의 고급 연산
배열의 고급 연산에는 정렬, 검색, 복사, 병합 등이 있습니다.
정렬
sort(arr, arr + 5); // 배열 정렬
검색
int idx = find(arr, arr + 5, 3) - arr; // 배열에서 값 3의 인덱스 찾기
다차원 배열
다차원 배열은 배열의 배열로, 주로 2차원 배열이 사용됩니다.
int matrix[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
동적 배열
동적 배열은 실행 시간에 크기를 결정할 수 있으며, new
와 delete
키워드를 사용하여 메모리를 할당 및 해제합니다.
int* dynArr = new int[5];
delete[] dynArr;
STL을 활용한 배열
C++ 표준 라이브러리(STL)는 std::array
와 std::vector
를 제공하여 배열을 더욱 편리하게 사용할 수 있습니다.