티스토리 뷰

PL/C++

[자료구조 C/C++] #05. Stack

poopooreum 2023. 7. 22. 19:45
반응형

Stack이란??

FILO(First In Last Out)구조를 지니고 있는 자료구조입니다. 먼저 들어온 원소가 가장 나중에 나가는 형식입니다. 흔히 레고를 생각하면 이해하기 쉬울 것 같습니다. 그리고 0개 이상의 요소를 가지는 선형 리스트의 일종이라고도 할 수 있습니다.

 

Stack 사용법

stack을 사용하기 위해서는 <stack>이라는 헤더파일을 불러와야 합니다.
선언하는 방법은 stack<data type>변수명입니다.
stack<int>s

 

Stack의 기본 함수

s.push(x) => 스택에 원소를 추가합니다.
s.pop()
=> 가장 마지막에 넣은 원소를 삭제합니다.
s.top()
=> 가장 먼저 넣은 원소를 반환합니다.
s.size()
=> 스택의 원소 개수를 반환합니다.
s.empty()
=> 스택이 비어 있으면 true를, 비어 있지 않으면 false를 반환합니다.

 

기타

배열로도 스택을 구현할 수 있습니다. 그리고 Vector로도 구현을 할 수 있으며 Vector로 구현할 시 스택 헤더파일을 불러와서 사용하는 것보다 속도가 빠릅니다.
마지막으로 push()와 emplace()의 차이를 알려드리겠습니다. push()의 경우는 이미 존재하는 원소를 집어넣는 경우이고 emplace()의 경우는 새로운 인스턴스가 필요할 때 사용합니다.


반응형

'PL > C++' 카테고리의 다른 글

[자료구조 C/C++] #06. Iterator  (0) 2023.07.23
[자료구조 C/C++] #04. Queue  (0) 2023.07.21
[자료구조 C/C++] #03. Set  (0) 2023.07.19
[자료구조 C/C++] #2 String  (0) 2023.07.16
[자료구조 C/C++] #2 Vector  (0) 2023.07.16
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함