카테고리 298

자료구조 구현하기(C++) - 선형 자료구조

C++에서 다양한 자료구조는 STL(Standard Template Library) 컨테이너를 활용하여 간단하게 구현할 수 있습니다. 각 자료구조에 대해 어떤 STL 컨테이너를 사용할 수 있는지 설명하겠습니다.대표적인 선형 자료구조의 목록과 권장 STL 컨테이너를 요약하면 다음과 같습니다.1. 배열 (Array)STL 추천 컨테이너고정 크기 배열: std::array동적 크기 배열: std::vectorSTL 컨테이너 - Array 관련 글https://coding-potato-record.tistory.com/20STL 컨테이너 - Vector 관련 글https://coding-potato-record.tistory.com/15구현 방법기본 배열 (Static Array)혹은 STL std::array..

STL 컨테이너 - vector

vector C++의 표준 라이브러리(STL, Standard Template Library)에 포함된 동적 배열 컨테이너입니다. 이는 크기가 고정된 배열과는 달리, 필요에 따라 크기가 자동으로 조정되며 요소를 추가하거나 제거할 수 있습니다.  vector의 정의와 vector관련 함수를 사용하기 위해서는 헤더파일을 추가해야합니다. 해당 헤더파일을 추가하면 std 네임스페이스를 통해 vector를 사용할 수 있습니다. std::vector 주요 특징동적 크기 조정초기 크기를 정하지 않거나, 정한 크기를 초과하여 요소를 추가해도 자동으로 크기를 늘려줌.크기 조정은 메모리 재할당을 통해 이루어짐.임의 접근 (Random Access)배열처럼 인덱스를 통해 O(1) 시간 복잡도로 요소에 접근 가능.유연한 메..

STL 컨테이너 - array

array C++에서 std::array는 **STL(Standard Template Library)**에서 제공하는 컨테이너 중 하나로, 고정 크기의 배열을 다루기 위한 템플릿 기반 컨테이너입니다. 기존의 C 스타일 배열보다 안전성과 유용한 메서드를 제공하며, 컴파일 타임에 크기가 고정됩니다.1. std::array의 특징정적 크기:배열 크기는 컴파일 타임에 결정되며, 런타임에는 변경할 수 없습니다.안전성:경계 검사 함수(at())를 제공하여 배열 인덱스 초과 오류를 방지.연속된 메모리:내부적으로 기존 C 스타일 배열처럼 연속된 메모리를 사용.포인터를 활용한 작업이 가능하며 다른 표준 라이브러리와 잘 통합됩니다.성능:C 스타일 배열과 거의 동일한 성능을 제공합니다.추가 기능:STL 컨테이너로서 크기, ..