본문 바로가기
Programming/C++

[C++] stack 기본 사용법

by GraceIT 2019. 8. 18.

 

스택은 기본적으로 LIFO(Last In First Out)구조로 이루어져 있다.

데이터의 추가와 삭제가 모두 목록에 끝에서만 일어나며,

알고리즘을 하다보면 활용해야 할 경우가 종종 있으므로 기본적인 사용법에 대해 알아두는 것이 좋다.

 

 

 

■ 필요 헤더

  • stack

 추가 및 삭제

  • push(element) : top에 원소를 추가
  • pop() : top에 있는 원소를 삭제

 조회

  • top() : top(스택의 맨 위)에 있는 원소를 반환

 기타

  • empty() : 스택이 비어있으면 true 아니면 false를 반환
  • size() : 스택 사이즈를 반환

 코드

#include <stdio.h>
#include <iostream>
#include <stack> /* include stack library */
 
using namespace std;
 
int main(){

    /*stack<type> val_name*/
    stack<int> s; 
 
    /*push*/
    s.push(4); 
    s.push(5);
    s.push(6);
    
    /*top*/
    cout << "top element : " << s.top() << '\n'; //6
 
    /*size*/
    cout << "size element : " << s.size() <<'\n'; //3
 
    /*pop*/
    while(!s.empty()){
    	cout << s.top() << '\n'; // 6,5,4
        s.pop();
    }
    
    /*empty*/
    if(s.empty()){
        cout << "stack is empty " <<endl;
    }
 
    return 0;
}

 

 

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

[c++] Sort 함수 정리  (0) 2019.09.03
[C++] string to char, char to string  (0) 2019.08.18
[C++] 왜 int main()을 쓸까?  (0) 2019.08.11

댓글