본문 바로가기
728x90
반응형
SMALL

STL3

[C++] 자료구조 std::list의 특징 및 사용법에 대해서 list의 특징 C++ 표준 라이브러리(STL)에서 제공하는 std::list는 이중 연결 리스트(double-linked list)를 구현한 자료구조입니다. 이중 연결 리스트는 각 원소가 이전 원소와 다음 원소에 대한 포인터를 가지고 있는 구조입니다. std::list는 다음과 같은 특징을 가지고 있습니다: 데이터 구조: 이중 연결 리스트로 구현되어 있어 각 노드가 이전 노드와 다음 노드에 대한 포인터를 가지고 있습니다. 헤더 파일: #include 를 통해 사용할 수 있습니다. 선언 및 초기화: std::list는 다양한 초기화 방법을 지원합니다. #include // 비어있는 리스트 선언 std::list myList; // 초기값을 가지는 리스트 선언 std::list myList = {1, 2,.. 2024. 1. 17.
[C++] 자료구조 Vector의 원리와 특징에 대해서 Vector에 대해서 C++의 std::vector는 동적 배열(dynamic array)을 나타내는 표준 템플릿 라이브러리(STL) 컨테이너 중 하나입니다. std::vector는 크기가 동적으로 조절되며, 배열의 특성과 함께 제공되는 다양한 멤버 함수를 사용하여 요소에 효율적으로 접근할 수 있습니다. std::vector의 주요 특징과 사용법은 다음과 같습니다: 1. 특징: 동적 크기 조절: 배열의 크기는 동적으로 조절되며, push_back, pop_back 등의 함수를 사용하여 쉽게 조작할 수 있습니다. 임의 접근: 배열의 각 요소에 대해 인덱스를 사용하여 빠르게 접근할 수 있습니다. 연속적인 메모리 할당: std::vector는 내부적으로 연속적인 메모리 블록에 요소들을 저장하므로, 배열의 특성.. 2024. 1. 14.
[C++] 자료구조 Linked List 원리와 사용방법 Linked list는 C++에서 포인터의 개념을 기반으로 구현되며, 이는 C 언어의 포인터를 통한 메모리 동적 할당을 바탕으로 합니다. Linked list는 배열과 달리 요소들이 메모리 상에서 연속적으로 위치하지 않고 각 요소가 다음 요소를 가리키는 포인터를 갖습니다. 아래는 C++에서 간단한 linked list를 동적으로 생성하는 예제 코드입니다. #include // 각 노드를 나타내는 구조체 struct Node { int data; Node* next; // 다음 노드를 가리키는 포인터 }; int main() { // 첫 번째 노드 생성 Node* head = new Node(); head->data = 1; head->next = nullptr; // 초기에는 다음 노드가 없음 // 두 .. 2023. 11. 26.
728x90
반응형
LIST