
평소 알고리즘 문제를 풀면서 Stack의 주로 사용했던 부분들 위주로 설명한 글입니다. (C++ reference 참고했습니다.) 1. Stack의 특성 Stack은 LIFO (Last In First Out) 후입 선출입니다. 먼저 들어간 게 먼저 나오는 것이 아닌 늦게 들어간 것이 먼저 나오는 구조입니다. 그리고 자료의 삽입 및 추출(?)이 Stack의 한 곳에서만 이루어집니다. Stack의 표준 컨테이너는 Deque로 되어있습니다. ※ template class stack; 다른 STL들의 자료구조에 비해서 조금 덜 쓰이는 면이 있는 것 같습니다. 간단히 알아보도록 하겠습니다. 2. Stack의 구성 2.1) 생성자 복사 생성자나, 다른 생성자들이 있지만 Stack은 주로 텅 빈 Stack을 만드는..

이 글은 완벽한 분석은 아닙니다. 평소 알고리즘 문제를 풀 때나, 개발하면서 Vector을 사용할 때 주로 사용했던 것들만 적었습니다 :) 완전한 메뉴얼은 C++ reference를 참고하시는 걸 추천합니다. 그냥 Vector를 바로 사용하고 싶은데 잘 모르는 경우 글을 한번 쭉 읽어보고 이해정도만 하시는 걸 추천드립니다. 함수를 하나하나 살펴보기 전에 Vector의 특성에 대해 살펴보겠습니다. (C++ reference참고했습니다.) 1. Vector의 특성 Vector는 크기를 변경시킬 수 있는 시퀀스 컨테이너입니다. 배열처럼 Vector는 원소에 연속 저장 위치를 사용하므로 원소에 대한 일반 포인터의 오프셋 []을 사용하여 배열처럼 효율적으로 원소에 액세스 할 수 있습니다. 그러나 배열과는 다르게 ..