array

    [C++] 배열(Array)

    배열 같은 타입의 변수들로 이루어진 유한 집합 배열 선언 배열은 다음과 같이 선언한다. datatype name[/*# of data*/]; 배열을 정의하면서, {} 중괄호를 이용하여 초기화를 동시에 진행할 수 있다. 배열의 인덱스는 0부터 시작하며, "배열명[인덱스]"로 해당 값에 접근할 수 있다. 배열 선언 시 배열 크기를 따로 지정하지 않고, 초기화를 진행하여도 초기화한 원소의 수에 맞게 메모리가 할당된다. 기본적으로 배열 선언시 정적 배열(선언과 동시에 메모리 고정)이 생성되며, 동적으로 메모리를 할당할 수 없다. ▶ 동적으로 배열 크기 할당 시 오류가 발생하며, 동적 배열을 생성하기 위해서는 new 연산자를 이용하여야 한다. C++11 이후 버전부터는 가변길이배열(VLA, Variable-Len..

    [C++] STL 자료구조

    STL Standard Template Library STL은 다양한 자료형으로 사용할 수 있도록 만든 함수 템플릿이나 클래스 템플릿이 기초가 된다. 여기서는 STL에 있는 자료구조 클래스를 이용한다. 연결리스트(Linked List) 어떤 데이터 덩어리(이하 노드 Node)를 저장할 때 그 다음 순서의 자료가 있는 위치를 데이터에 포함시키는 방식으로 자료를 저장 #include 시간복잡도 삽입/삭제: O(1) 탐색: O(n) 데이터의 추가/삭제가 많은 경우에는 연결 리스트를 사용하면 좋다. 싱글 연결 리스트: next 포인터만 가짐 이중 연결 리스트: next 포인터와 prev 포인터를 가짐 원형 이중 연결 리스트: 이중 연결리스트와 동일한 형태이지만 마지막 노드의 next 포인터가 헤드 노드(맨 앞 ..